草庐IT

Entity-Framework

全部标签

c# - 查询为空时的最大返回值

我有这个问题:intmaxShoeSize=Workers.Where(x=>x.CompanyId==8).Max(x=>x.ShoeSize);如果公司8根本没有worker,maxShoeSize会是什么?更新:如何更改查询以获得0而不是异常? 最佳答案 intmaxShoeSize=Workers.Where(x=>x.CompanyId==8).Select(x=>x.ShoeSize).DefaultIfEmpty(0).Max();DefaultIfEmpty中的零不是必需的。

c# - .NET framework 如何为 OutOfMemoryException 分配内存?

在C++中,实际上可以按值抛出异常而无需在堆上分配内存,因此这种情况是有道理的。但在.NET框架中OutOfMemoryException是一个引用类型,因此它被分配在堆上。当没有足够的内存来创建新对象时,.NETframework如何为OutOfMemoryException分配内存? 最佳答案 它由运行时预分配。如果您探索任何托管进程的堆,您会发现该异常的一个实例。以下是HelloWorld应用程序的预分配异常:0:003>!dumpheap-stat-typeExceptionStatistics:MTCountTotalSi

c# - .NET framework 如何为 OutOfMemoryException 分配内存?

在C++中,实际上可以按值抛出异常而无需在堆上分配内存,因此这种情况是有道理的。但在.NET框架中OutOfMemoryException是一个引用类型,因此它被分配在堆上。当没有足够的内存来创建新对象时,.NETframework如何为OutOfMemoryException分配内存? 最佳答案 它由运行时预分配。如果您探索任何托管进程的堆,您会发现该异常的一个实例。以下是HelloWorld应用程序的预分配异常:0:003>!dumpheap-stat-typeExceptionStatistics:MTCountTotalSi

c# - 无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型

我收到以下查询的错误UnabletocreateaconstantvalueoftypeAPI.Models.PersonProtocol.Onlyprimitivetypesorenumerationtypesaresupportedinthiscontext下面的ppCombined是一个PersonProtocolType的IEnumerable对象,由2个PersonProtocol列表拼接而成。为什么会失败?我们不能在JOIN的SELECT中使用LINQJOIN子句吗?varpersons=db.Favorites.Where(x=>x.userId==userId).Joi

c# - 无法创建类型的常量值在此上下文中仅支持原始类型或枚举类型

我收到以下查询的错误UnabletocreateaconstantvalueoftypeAPI.Models.PersonProtocol.Onlyprimitivetypesorenumerationtypesaresupportedinthiscontext下面的ppCombined是一个PersonProtocolType的IEnumerable对象,由2个PersonProtocol列表拼接而成。为什么会失败?我们不能在JOIN的SELECT中使用LINQJOIN子句吗?varpersons=db.Favorites.Where(x=>x.userId==userId).Joi

c# - Entity Framework 回滚并删除错误的迁移

我在C#中为我的项目使用EF6.0,并进行手动迁移和更新。我在数据库上有大约5次迁移,但我意识到最后一次迁移很糟糕,我不想要它。我知道我可以回滚到以前的迁移,但是当我添加一个新的(固定的)迁移并运行Update-Database时,即使是错误的迁移也会应用。我试图回滚到之前的迁移并删除迁移错误的文件。但是,当我尝试添加新的迁移时,更新数据库时出现错误,因为迁移文件已损坏(更具体地说,第一行代码将表A重命名为B并且是下一行,EF正在尝试更新表名称A-可能是一些EF错误)。是否有一些我可以运行的查询,它会告诉EF类似“忘记上次迁移,就像它从未存在过一样,它很糟糕”?类似Remove-Mig

c# - Entity Framework 回滚并删除错误的迁移

我在C#中为我的项目使用EF6.0,并进行手动迁移和更新。我在数据库上有大约5次迁移,但我意识到最后一次迁移很糟糕,我不想要它。我知道我可以回滚到以前的迁移,但是当我添加一个新的(固定的)迁移并运行Update-Database时,即使是错误的迁移也会应用。我试图回滚到之前的迁移并删除迁移错误的文件。但是,当我尝试添加新的迁移时,更新数据库时出现错误,因为迁移文件已损坏(更具体地说,第一行代码将表A重命名为B并且是下一行,EF正在尝试更新表名称A-可能是一些EF错误)。是否有一些我可以运行的查询,它会告诉EF类似“忘记上次迁移,就像它从未存在过一样,它很糟糕”?类似Remove-Mig

c# - 在 Entity Framework 中设置数据库超时

我的命令一直超时,所以我需要更改默认的命令超时值。我找到了myDb.Database.Connection.ConnectionTimeout,但它是readonly。如何在EntityFramework5中设置命令超时? 最佳答案 在你的上下文中试试这个:publicclassMyDatabase:DbContext{publicMyDatabase():base(ContextHelper.CreateConnection("Connectionstring"),true){((IObjectContextAdapter)thi

c# - 在 Entity Framework 中设置数据库超时

我的命令一直超时,所以我需要更改默认的命令超时值。我找到了myDb.Database.Connection.ConnectionTimeout,但它是readonly。如何在EntityFramework5中设置命令超时? 最佳答案 在你的上下文中试试这个:publicclassMyDatabase:DbContext{publicMyDatabase():base(ContextHelper.CreateConnection("Connectionstring"),true){((IObjectContextAdapter)thi

c# - "A lambda expression with a statement body cannot be converted to an expression tree"

在使用EntityFramework时,我在尝试编译以下代码时遇到错误“Alambdaexpressionwithastatementbodycannotbeconvertedtoanexpressiontree”:Obj[]myArray=objects.Select(o=>{varsomeLocalVar=o.someVar;returnnewObj(){Var1=someLocalVar,Var2=o.var2};}).ToArray();我不知道这个错误是什么意思,最重要的是不知道如何修复它。有帮助吗? 最佳答案 objec