草庐IT

Entity-Framework

全部标签

c# - EF 代码首先是 : How to delete a row from an entity's Collection while following DDD?

场景是这样的:DDD声明您使用存储库获取聚合根,然后使用它来添加/删除它拥有的任何集合。添加很简单,您只需在要添加到的Collection上调用.Add(Itemitem)。保存时会向数据库中添加一个新行。但是,删除是不同的-调用.Remove(Itemitem)不会从数据库中删除项目,它只是删除外键。因此,是的,从技术上讲,它不再是收藏的一部分,但它仍在数据库中。仔细阅读,唯一的解决方案是使用数据上下文将其删除。但是根据DDD,域对象不应该知道数据上下文,因此必须在域外进行删除。解决这个问题的正确方法是什么?或者让数据库中充满孤儿是可以接受的吗(也许运行一个例程来清除它们)?

c# - Linq to Entities 中的动态 where 子句 (OR)

在帖子中here我学习了如何使用Linq的延迟执行来构建动态查询。但查询实际上是使用WHERE条件的AND串联。如何使用OR逻辑实现相同的查询?由于Flags枚举,查询应该搜索Username、WindowsUsername或两者:publicUserGetUser(IdentifierTypetype,stringidentifier){using(varcontext=contextFactory.Invoke()){varquery=fromuincontext.Usersselectu;if(type.HasFlag(IdentifierType.Username))query

c# - 将 Entity Framework 升级到 6.1 - 索引已存在错误

我刚刚将一个使用代码优先模型的项目从EntityFramework6.0.2升级到6.1.0。升级后,context.Database.CompatibleWithModel(true)返回false,因此EF认为数据库不再兼容模型。我没有更改任何其他内容,只是升级了EF。我运行Add-Migration看看会发生什么,EF创建了一个大迁移,似乎在每个表的每个外键属性上创建了一个索引:publicoverridevoidUp(){CreateIndex("dbo.ActivityStreams","UserId");CreateIndex("dbo.Users","OfficeId")

c# - 将 Entity Framework 模型从 Web 项目移动到类库中

我正在使用EntityFramework,最近开始意识到在同一解决方案的另一个项目中使用您的EF模型的好处,这样我就可以从中构建多个UI。我将它移到了一个新的类库项目中,并更新了对Web项目中实体的所有引用,以使用该项目生成的新dll。一切都很顺利,除了一个小问题。当我将EF移至新项目时,它仍然以某种方式从Web项目中的web.config读取其连接字符串(不要问我如何,因为我不知道)。我在EF设计器中使用了“从数据库更新模型”,但它没有找到连接字符串(正如我在将其移至新项目后预期的那样)所以我使用向导生成了一个新的连接字符串,它做得很好。新的连接字符串现在驻留在类库项目的App.co

c# - 将我自己的方法与 LINQ to Entities 结合使用

我有一个使用LINQ的项目,我想在其中使用我自己的方法。此NoWhiteSpaces方法应返回不含空格的上部字符串。publicstaticclassLittleExtensions{publicstaticstringNoWhiteSpaces(thisStrings){returnRegex.Replace(s,@"\s",string.Empty).ToUpper();}}当我想将此方法与LINQ一起使用时,如下所示:staticvoidGetHaendler(){using(varriaService=newgkmRia()){varhladany="someone";varh

c# - 在 .NET Framework 4.6.2 中,FormattedText() 已过时,我该如何修复它

当我尝试使用.netFramework4.6.2构建WPF项目时,出现错误,因为FormattedText()已过时,如下所示:[过时(“使用PixelsPerDip覆盖”,false)]publicFormattedText(stringtextToFormat,CultureInfoculture,FlowDirectionflowDirection,Typeface字体,doubleemSize,Brushforeground);新的覆盖方法是publicFormattedText(stringtextToFormat,CultureInfoculture,FlowDirecti

c# - 是否可以在 Entity Framework Core 中创建基于字符串的 Include 替代方案?

在API上我需要动态包含,但EFCore不支持基于字符串的包含。因此,我创建了一个映射器,它将字符串映射到添加到列表中的lambda表达式,如下所示:List>expressions=newList>();考虑以下特定类型:publicclassEFContext{publicDbSetP1s{get;set;}publicDbSetP2s{get;set;}publicDbSetP3s{get;set;}}publicclassP1{publicP2P2{get;set;}publicP3P3{get;set;}}publicclassP2{publicP3P3{get;set;}}

c# - 如何将参数传递给 Entity Framework 中的 DbSet.SqlQuery 方法

我正在尝试在EntityFramework中执行一个带有一些参数的RAWSQL语句。我使用的方法来自DbSet.SqlQuery我对如何构造params对象数组感到困惑:paramsobject[]parameters这是我的代码块:publicActionResultAPILocation(stringlat,stringlng){stringSQL="select*from(selectDistance=((ACOS(SIN(@lat*PI()/180)*SIN(lat*PI()/180)+COS(@lat*PI()/180)*COS(lat*PI()/180)*COS((@lng

c# - 无法加载文件或程序集 EntityFramework

我已经部署了一个ASP.NETMVC4应用程序并且主页加载正常,但是当我尝试访问任何其他页面(它们都尝试连接到SQL数据库)时我收到此错误:Couldnotloadfileorassembly'EntityFramework,Version=4.1.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x8

c# - 如何使用 Entity Framework 更新特定记录的一个字段?

我想更新一个人的家人,他的名字叫pejman。这是我的对象类:publicclassPerson{publicintId{get;set;}publicstringFirstName{get;set;}publicstringLastName{get;set;}publicDateTimeBirthDate{get;set;}publicboolIsMale{get;set;}publicbyte[]Image{get;set;}publicbyte[]RowVersion{get;set;}publicvirtualPersonParent{get;set;}publicvirtua