草庐IT

REQUEST_ENTITY_PROCESSING

全部标签

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

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

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# - Request.Url.Host 与 Request.Url.Authority

我继承了一个用C#编写的ASP.NETWeb应用程序。在整个站点的许多页面中,使用以下方法检索主机名:BaseHost=Request.Url.Host;因为我使用的是VisualStudio2012Express并且它安装在本地IISExpress服务器上,所以当我在本地调试/运行时,我似乎被附加到主机名(localhost)的端口号卡住了。上面的代码不会导致包含端口号,因此会中断代码生成的链接(菜单项链接、重定向等)。我看到我可以通过将代码更改为来解决这个问题:BaseHost=Request.Url.Authority;当我在本地运行时(localhost:4652)和发布到我的

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# - 如何使用 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

c# - Entity Framework 错误 "Entity type is not mapped."

我们在项目中使用EntityFramework,我在模型中构建了一个实体。然后我有一个使用存储过程的函数导入。函数导入创建的方法应该返回我创建的自定义实体的集合。TheproblemisthatIgetanerrorwhenIbuildthatsays"Theentitytype'someentity'isnotmapped.这是什么意思?是否因为实体没有底层数据存储而感到沮丧?它不需要一个,函数导入返回此实体的实例,我不需要更新、编辑或插入此类型的实体。函数import工作得很好,并根据需要返回我的实体的集合,但这个错误很烦人。尽管错误列表将其列为编译错误,但它实际上并没有阻止解决方

c# - Entity Framework : Problem associating entities with nullable field

我正在使用EntityFramework,我正在尝试将从数据库表创建的实体与从数据库View创建的实体相关联。因为EntityFramework无法自动推断数据库表和View之间的关系,所以我使用实体设计器来构建实体之间的“关联”。但是,如果外键是nullalbe类型,则会出现以下错误:错误113:多重性在关系“UsersView”中的角色“公司”中无效。因为DependentRole中的所有属性都可以为null,所以PrincipalRole的多重性必须为“0..1”。在我的场景中,我的UsersView中有一个可以为null的CompanyId外键(即用户可能没有公司)。使用可为空

c# - Entity Framework Core 计数没有最佳性能

我需要使用特定过滤器获取记录的数量。理论上这条指令:_dbContext.People.Count(w=>w.Type==1);它应该生成如下SQL:Selectcount(*)fromPeopleWhereType=1然而,生成的SQL是:SelectId,Name,Type,DateCreated,DateLastUpdate,AddressfromPeopleWhereType=1正在生成的查询需要更长的时间才能在包含许多记录的数据库中运行。我需要生成第一个查询。如果我这样做:_dbContext.People.Count();EntityFramework生成以下查询:Sele