草庐IT

ef-database-first

全部标签

c# - EF Core 的 HasColumnName 发生了什么变化?

所以我试图将一个内部属性映射到我的数据库,并根据这个articleonline这就是你应该做的。我发现的其他资源也告诉我做同样的事情。无论出于何种原因,该方法不存在,我也无法在网上找到他们重命名的内容,或者他们是否只是删除了该方法。这是我的代码:publicclassCriteria:DbEntity{internalstring_Condition{get;set;}[NotMapped]publicConditionCondition{get{returnstring.IsNullOrEmpty(_Condition)?null:JsonConvert.DeserializeObj

c# - 如何使用 Entity Framework 4 Code First (POCO) 声明一对一关系

如何使用EntityFramework4CodeFirst(POCO)声明一对一关系?我找到了thisquestion(one-to-onerelationshipsinEntityFramework4),但是答案引用的那篇文章没有用(有一行代码是一对一的关系,但是没有提到如何定义)。 最佳答案 三种方法:A)声明两个具有导航属性的类。用ForeignKey属性标记其中一个表(从属表)的主键。EF从中推断出1对1:publicclassAppUser{publicintId{get;set;}publicstringUsername

c# - 在 EF 4.x 中处理将 0/1 转换为 False/True 的最简单方法是什么?

存储的Proc返回一个值为0或1的列,而不转换为BIT。在我的POCO中,如果我将该字段声明为publicboolMyColumn{get;set;}我收到这个错误:Thespecifiedcastfromamaterialized'System.Int32'typetothe'System.Boolean'typeisnotvalid.这实际上是有道理的,因为EF将返回值识别为整数。我想知道是否有任何简单的方法(添加注释或可能使用流畅的api)在场景后面的映射中自动将0/1转换为False/True而无需触及Proc?提前致谢! 最佳答案

c# - "Collection was of a fixed size"带有 POCO 的 EF4 异常

我将EF4与WCF和POCO结合使用。我删除了POCO实体中的所有虚拟关键字。我有Employee和Team实体,两者之间的关系是1:N,意味着一名员工只能分配到一个团队。我想在现有团队中添加新员工。以下代码在客户端。privatevoidbtnAdd_Click(objectsender,RoutedEventArgse){TeamteamFromDb=ServiceProxy.GetService.GetTeamById(181);EmployeenewEmp=newEmployee{UserName="username"};newEmp.Team=teamFromDb;Servi

c# - 带有插件式系统的 EF 多上下文。如何在运行时应用迁移?

我有一个Web应用程序,它应该作为一系列插件组合到核心基础架构中。一个插件是一个编译好的CLRdll+一些内容文件,这些文件将被放置在某个位置。我正在使用Autofac来扫描和注册程序集中的类型,并使用一些奇特的路由从那里为Controller和Assets提供服务。但是,由于每个插件程序集都可以包含一个DbContext(按照惯例,每个插件程序集都将使用自己的数据库),所以我不太清楚在那里该做什么。现在我发现了很多关于如何使用多个上下文的内容,但这都需要知道这些内容在开发时。我的应用程序直到运行时才知道将使用什么上下文。理想情况下,我正在寻找的是某种方式来做ApplyMigratio

c# - 是什么导致 EF 插入比普通 ADO.NET 慢得多?

我必须在数据库中记录Web服务调用。一开始,我使用codefirstEF来定义Entity类和生成数据库脚本。数据库部分很简单,就一张表。有一个主键:Id,其他列是string、datetime和float。共16列。然后我跑了VS2012的性能分析。报告显示RecordUsageEF消耗了整个调用的一半时间,这很荒谬。我尝试了MergeOption.NoTracking选项和预生成View(Howto:Pre-GenerateViewstoImproveQueryPerformance)。但他们并没有太大帮助。然后我尝试了Ado.net。我将sql脚本放在源代码中只是为了测试。一起调

c# - ASP.NET MVC + EF脚手架实现EntityTypeConfiguration类后可以使用吗?

背景当模型使用数据注释或OnModelCreating(DbModelBuilder)中的直线时,绑定(bind)到EntityFramework的新ASP.NETMVCController的VisualStudio脚手架工作良好描述他们的特点。问题但是,在我们的场景中,OnModelCreating的内容使用个人重构EntityTypeConfiguration类。尝试通过MVC+EF脚手架创建新Controller时,出现以下弹出错误:Therewasanerrorrunningtheselectedcodegenerator:'AconfigurationfortypeSomeM

c# - 在 Entity Framework 4.1 版本中使用 Code-First 时性能极慢

我们公司正在开发一个新的应用程序,它的核心是一个比较大的业务数据对象。我们决定先用代码尝试EntityFramework,以从应用程序中抽象出数据库,但事情出了差错。业务对象由大约60个类组成,总共大约600个属性;然而,它是一个树结构,不存在交叉/回溯指针。我们的测试是向数据库添加一个未初始化的类实例。在我们的数据结构上使用DbContext.Add在我的开发机器上花费了8分钟。这是这种大小的物体的预期性能吗?是否有导致EntityFramework性能不佳的常见问题列表?我觉得我需要一些帮助。一些更多的数据点:业务对象根下的第一层有27个元素。存在3个元素(其余元素已注释掉),添加

c# - EF 4 - 没有代理的延迟加载

我读到当我们需要使用延迟加载和更改跟踪时会使用代理。换句话说,要使用延迟加载,我必须启用代理。到目前为止一切顺利。关键是我可以使用下面的代码来设置上下文以不使用代理甚至使用延迟加载。ctx=newSchoolEntities();ctx.ContextOptions.ProxyCreationEnabled=false;ctx.ContextOptions.LazyLoadingEnabled=true;ProxyCreationEnabled属性是否仅与更改跟踪代理相关,还是我遗漏了什么?有人可以详细解释一下吗?谢谢!编辑1我没有使用POCO/DbContext。我使用带有Objec

c# - 在 Code First 的情况下使用 MetadataType 强制执行验证是否有意义?

我似乎理解了将MetadataTypeAttribute帮助到AddValidationtotheModel背后的原因如果是DatabaseFirst因为我们希望避免下次从数据库生成模型时覆盖更改。我注意到很少有人使用MetadataType定义验证,即使他们使用CodeFirst也是如此。方法,并且它们的实体类不可能被某种自动生成的代码覆盖。不直接将这些DataAnnotations应用于实际的实体类,而是将它们分成部分类定义,然后使用MetadataType进行链接是否有意义,即使在使用CodeFirst时也是如此定义实体模型的方法?publicclassMyEntity{[Req