gpt4 book ai didi

c# - Visual Studio for Mac 上出现奇怪的 linq 异常

转载 作者:太空宇宙 更新时间:2023-11-03 14:41:24 25 4
gpt4 key购买 nike

我有一个非常古老的项目,它是用 Xamarin(现在是 Visual Studio for Mac)编写的。

该项目使用 mysql 数据库和 Entity Framework 。

当我尝试做一个非常基本的查询时

using (myentities db = myentities())
{
customer.where(c => ... any filter ...)
}

我得到这个异常:

System.MethodAccessException
Method `System.Data.DataView.get_RowPredicate()' is inaccessible from method `System.Data.LinqDataView.get_RowFilter()'

请注意 - 我也不异常(exception), table 是空的。 - 2 年前在同一台计算机上完美运行!

有什么想法吗?

谢谢

最佳答案

LinqDataView正在使用 DataView (通过继承和使用 RowPredicate of DataView )

看起来 LinqDataViewDataView 是不兼容的版本,所以 LinqDataView 正在调用一个 DataView,它在编译时具有 RowPredicate,但是 DLL 中的 DataView 你正在使用没有(可访问的)RowPredicate

LinqDataView 位于 System.Data.DataSetExtensions dll 中,DataView 位于 System.Data dll 中。

所以 System.Data.DataSetExtensions dll 和 System.Data dll 不兼容。

仔细检查那些 dll/包是否已正确更新/安装。 (也许还清除 obj/bin 文件夹并检查 .configs 的版本)

关于c# - Visual Studio for Mac 上出现奇怪的 linq 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56780417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com