2017-09-22 19 views
1

ParseLambda行を実行しようとすると、コードは以下の例外をスローするとき、私はLINQのにFileNotFoundException:ファイルまたはアセンブリをロードできませんでした「System.Data.Entity」

var x = Expression.Parameter(typeof(T), "x"); 
var e = Dynamic.DynamicExpression.ParseLambda(new[] { x }, null, "x.Id > 1"); 

var compiledDelegate = exp.Compile(); 

var values = new List<T> 
{ 
    new T 
    { 
     Id = 1 
    }, 
    new T 
    { 
     Id = 2 
    } 
}; 

var result = values.Where((Func<T, bool>)compiledDelegate); 

を使用して動的表現文字列を解析しようとしています

enter image description here

私はネットの標準2.0とVisual Studio 15.3.5を使用しています。

私は、以下の2つのパッケージを、必要なすべてのASP.NETコアのものと一緒に引き出しています。 (それが今までになる場合)私はそうSystem.Linq.Dynamic標準2.0 APIを.NETにSystem.Dataはまだ移植されていないことが判明グーグルで

<PropertyGroup> 
    <TargetFramework>netstandard2.0</TargetFramework> 
    <NeutralLanguage>en</NeutralLanguage> 
    </PropertyGroup> 

    <ItemGroup> 
    <PackageReference Include="System.Linq.Dynamic" Version="1.0.7" /> 
    <PackageReference Include="System.Linq.Expressions" Version="4.3.0" /> 
    </ItemGroup> 
    <PropertyGroup> 
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> 
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> 
    </PropertyGroup> 
+0

プロジェクトで明示的にSystem.Data.Entityを参照することがありますか?パッケージ参照としてリストされていません – DiskJunky

+0

NuGetに 'System.Data'または' System.Data.Entity'はありません。 'System.Data.Common'がありますが、まだ運がありません。 – Ayman

答えて

1

は2.0標準の.NETと完全に互換性がありません実際にしました。

enter image description here

代わりに私が仕事をしてくれた同じアセンブリSystem.Linq.Dynamic.Coreの別のポートを見つけました。

enter image description here

関連する問題