草庐IT

ef-database-first

全部标签

c# - EF4.1 代码优先 : How to disable delete cascade for a relationship without navigation property in dependent entity

假设我有这两个非常基本的实体:publicclassParentEntity{publicintId;publicvirtualICollectionChildrens;}publicclassChildEntity{publicintId;publicintParentEntityId;//ForeignKeypublicvirtualParentEntityparent;//[NOTWANTED]}出于某些原因,我不希望ChildEntity保留对其父项的引用。我只希望它保留ParentEntityid但仅此而已。到目前为止,没问题,我只是删除了[NOTWANTED]行,一切都按预

c# - 未调用 EF 4.1 OnModelCreating

我有一个问题,EF4.1没有调用OnModelCreating以便我可以配置表等。我有一个现有的数据库。这是我的连接字符串:这是我继承自DbContext的类:publicclassAcmeDBContext:DbContext{publicAcmeDBContext():base(){Database.SetInitializer(null);}protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder){modelBuilder.Conventions.Remove();modelBuilder.Conventio

c# - 如何为 Entity Framework Code First 迁移设置隔离级别

如果您针对为SQLServer复制发布的表运行EntityFramework迁移(自动或显式),您会收到以下错误:YoucanonlyspecifytheREADPASTlockintheREADCOMMITTEDorREPEATABLEREADisolationlevels之前有过关于此的问题(here),但它们完全未能解决根本原因:EntityFramework迁移在Serializable隔离级别运行(如SQLServer探查器中清楚显示的那样)。这是结构更改事务的安全选择,但它与已发布的sqlserver表不兼容。与dbContext.SaveChanges()事务中使用的默认

c# - Entity Framework 6 Code First 自定义函数

我正在尝试类似的东西:Howtousescalar-valuedfunctionwithlinqtoentity?但是我没有使用EDMX,而是先使用DbContext和代码。我遇到过这个:https://codefirstfunctions.codeplex.com/但是用法不合适。我想要实现的是能够做到这一点:varlocations=context.Locations.Where(e=>Functions.LatLongDistanceCalc(e.Lat,e.Long,lat,long)>=10)它将调用SQLServer上的标量函数(LatLongDistanceCalc)。有

c# - Code-First 应用程序中的 XML 列

我正在尝试在CodeFirst中创建一个XML列。我很清楚EntityFramework并不完全支持XML列,而是将它们作为字符串读取。没关系。不过,我仍然希望列类型为XML。这是我的类(class):classContent{publicintContentId{get;set;}[Column(TypeName="xml")]publicstringXmlString{get;set;}[NotMapped]publicXElementXml{get{...}set{...}}}问题是,CodeFirst迁移完全忽略了Column属性并将该字段创建为nvarchar(max)。我尝

c# - ASP.NET MVC 4,EF5,模型中的唯一属性 - 最佳实践?

ASP.NETMVC4、EF5、代码优先、SQLServer2012Express在模型中实现唯一值的最佳做法是什么?我有一个places类,它有一个“url”属性,每个地方都应该是唯一的。publicclassPlace{[ScaffoldColumn(false)]publicvirtualintPlaceID{get;set;}[DisplayName("DateAdded")]publicvirtualDateTimeDateAdded{get;set;}[Required(ErrorMessage="PlaceNameisrequired")][StringLength(10

c# - Entity Framework 代码首先更新数据库在 CREATE DATABASE 上失败

ThisposthasbeennotedSohasthisone在我的开发机器上,我正在尝试使用包管理器控制台中的更新数据库重新创建我的数据库。我相信我已按照上述帖子中的说明进行操作。我收到此错误消息:Afileactivationerroroccurred.Thephysicalfilename'\WRDatabase.mdf'maybeincorrect.Diagnoseandcorrectadditionalerrors,andretrytheoperation.CREATEDATABASEfailed.Somefilenameslistedcouldnotbecreated.C

c# - 为什么 EF 6 教程使用异步调用?

有关如何将EF6与MVC5结合使用的最新EF教程似乎倾向于使用对数据库的异步调用,例如:Departmentdepartment=awaitdb.Departments.FindAsync(id);这是新标准/最佳实践吗?我不确定这种使用ASP.NETMVC的开发方式有什么好处。谁能评论一下这个模式,这是微软正在推广的新标准吗? 最佳答案 为了决定是异步还是同步,比较yield和成本:异步:几乎从不用异步耗尽线程池(情况必须是极端的)几乎任意级别的并发(并发请求和操作)每个线程节省1MB内存借助SynchronizationCont

c# - 如何在不传入连接名称的情况下在 Entities ObjectContext 上设置 EF Trace

我正在编写一个可重用的基础存储库类,开发人员将在其中传递一个代表ObjectContext的泛型。基础存储库将使用Activator.CreateInstance创建它的实例.调试时我想使用nuget包CommunityEFProviderWrappers.EFTracingProvider.所以我设置对象上下文的代码如下所示:publicvoidRenewDataContext(){#ifDEBUG//getthedefaultcontainernamevarcontainerName=Activator.CreateInstance().DefaultContainerName;/

c# - DDD 与 EF Code First - 如何将它们放在一起?

学习DDD开发这几天,开始喜欢上了。我(认为我)了解DDD的原则,您的主要关注点是业务对象,您有聚合、聚合根、仅用于聚合根的存储库等等。我正在尝试创建一个将DDD开发与代码优先方法相结合的简单项目。我的问题是:(我正在使用asp.netMVC)DDD业务对象与CodeFirst对象不同吗?即使它们可能相同,例如我可以有一个包含所有规则和方法的Product业务对象,并且我可以先有一个Product代码(POCO)对象,它只包含我需要保存在数据库中的属性。如果问题1的答案是“真”,那么我如何通知ProductPOCO对象业务对象Product的属性已更改,并且我必须更新它吗?我正在使用“