2016-10-12 16 views
0

カスタマイズする方法はありますか?エンティティへのlinqのカスタム文字列の新規選択

これは、イムがやろうとするものである:

string customSelect = "c.person_name"; 
int per = PersonID(); 
var RetrievItem = (from c in db.person where c.person_id == per select new { customSelect }).FirstOrDefault(); 

私はそれをデバッグしようとしたが、それは単にデータベース

から任意の提案を、指定された文字列の代わりの値を取得することになった@_ @?

+0

なぜ新しい{c.person_name}を選択しないのですか? – Mostafiz

+1

[Expression class](https://msdn.microsoft.com/en-us/library/system.linq.expressions.expression(v = vs.110).aspx)を参照してください。 –

+0

@Mostafizは、文字列が来る原因になります動的になり、毎回異なることになる@_ – Harugawa

答えて

3

式ベースの解法に関するハムレットのコメントに加えて、Dynamic Linqライブラリを見ることができます。文字列として定義されたlamba式をサポートしています。これはまさに必要なものです。

+0

実行時に動的クラスを作成することでDynamic LINQが解決する、匿名型を実行時に作成することができないため、これまでの唯一可能な動的選択ソリューションだと言いたいと思います。 +1 –

+0

@IvanStoev、いいえ、実行時に動的型を作成することはできません。 –

+0

@AdilMammadov可能ですが、難しいです。コンパイラ機能である**匿名**タイプではありません。 –

関連する問題