System.Linq.Dynamic
でオブジェクトを動的にクエリします。動的LINQをエンティティ複合型と互換性を持たせることはできますか?
var selectData = (from i in data
select i).AsQueryable().Where("Name = @0","Bob1");//This works fine with a non-entity object
I knowマップされたエンティティには投影できません。私はこのコードが
foreach (var item in rawQuery.ObsDataResultList)
{
var propertyData = (from i in item
select i).AsQueryable().Where("PropertyName = @0", "blah");
}//item is a Entity Complex Type
エラー
が ソースタイプ「ClassLibrary1.Model.bhcs_ObsData_2_Result」のクエリパターンの実装を見つけることができませんでした失敗した理由であると信じています。 「選択」は ではありません。
実行時にPropertyNameを指定する必要があるという事実を考えれば、匿名型またはDTOでプロジェクトする方法はありません。
この時点でEntityの機能を保持する必要はありません。データが必要です。クエリ可能なものにデータをコピーすることは有効な解決策です。したがって、動的LINQでエンティティフレームワークを照会することは可能ですか?ここ
とは、(アイテムオブジェクト通称I照会しようとしているもの、)エンティティクラスのヘッダーです
[EdmComplexTypeAttribute(NamespaceName="MyDbModel", Name="blah_myQuery_2_Result")]
[DataContractAttribute(IsReference=true)]
[Serializable()]
public partial class blah_myQuery_2_Result : ComplexObject
{
私は動的linqについてまだ多くのことを学んでいないので、私はこれに興味を持っています。しかし、私は、(特に主観的には、主観的には)質問式の理解とメソッド呼び出しを同じ式で混在させるのは混乱していると言わなければなりません。 .AsQueryable()から 'data.AsQueryable()'に変更すると、コードをもっと整備しやすくなると思います。 – phoog