小编div*_*ega的帖子

在尝试解析列以进行不等式比较时,LINQ to Entities无法识别方法'Int32 Parse(System.String)'方法

我的页面中有以下代码:

var myVar= Entity.SetName
                 .Where(p => int.Parse(p.ID) >= start &&
                  int.Parse(p.ID) <= end);
Run Code Online (Sandbox Code Playgroud)

start和end是int,但p.ID是string.所以我应该将p.ID转换为int.但我得到以下错误:

LINQ to Entities无法识别方法'Int32 Parse(System.String)'方法,并且此方法无法转换为存储表达式.

问题出在哪儿??

c# entity-framework

22
推荐指数
2
解决办法
4万
查看次数

更新Windows后出现SqlClient错误 - "传入的表格数据流(TDS)远程过程调用>(RPC)协议流不正确"

自从将Windows 10更新到1803以来,我已经开始接收此错误,只要我运行一个EF查询,该查询连接一个带有标量参数的表值函数.

消息:传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确.参数2(""):数据类型0x00未知.

堆栈跟踪:位于System.Threading.Tasks.Task.Execute()的System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()中的System.Data.SqlClient.SqlCommand.<> c.b__180_0(Task1结果).从抛出异常的先前位置开始的堆栈跟踪结束---在System.Data.Entity.Core.EntityClient的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处.Internal.EntityCommandDefinition.d__c.MoveNext()

我在.NET 4.6框架项目中使用Entity Framework v6.2.我验证了相同的代码在使用Windows 10 1709的另一台计算机上执行没有问题.我将计算机更新到Windows 10 1803而没有其他更改,我开始收到上述错误.导致错误的代码:

var query = from fs in db.ViewWithInformation
            join e in db.GetEventsForPerson(personnelId) on fs.Event_Id equals e.Event_Id
            where !fs.Is_Deleted
            select fs;
return await query.ToArrayAsync();
Run Code Online (Sandbox Code Playgroud)

如果我针对db.GetEventsForPerson删除连接,则查询将运行.上面的EF查询生成的SQL在SSMS中运行良好.

编辑5/15/2018:我已经确认这是由.NET Framework 4.7.2特别引起的.我在Windows 10 1709计算机上手动安装了.NET 4.7.2,错误再次启动.

sql-server sqlclient azure-sql-database .net-4.7.2

8
推荐指数
1
解决办法
2008
查看次数

我可以在Windows Phone 8上使用Entity Framework吗?

是否可以使用Entity Framework将数据保存到Windows Phone 8上的隔离存储中的SQL CE数据库?

当我尝试使用NuGet添加对EF 5的引用时,我收到错误:

"无法添加对'System.Data.Entity'的引用.请确保它在全局程序集缓存中."

有任何想法吗?

entity-framework windows-phone-7 entity-framework-core

6
推荐指数
1
解决办法
5525
查看次数