草庐IT

c# - EF 6 与 EF 5 部署到 IIS8 时的相对性能问题

我有一个带有EF6的MVC4应用程序。从EF5升级到EF6后,我注意到我的一个linq-entities查询存在性能问题。起初我很兴奋,因为在我的开发箱上我注意到从EF5到EF6有50%的改进。这个查询返回大约73,000条记录。在生产服务器上运行的SQL被ActivityMonitor、RecentExpensiveQueries截获,此时间也包含在下表中。以下数字是数据库预热后的数字:开发:64位操作系统、SS2012、2核、6GBRAM、IISExpress。EF5~30secEF6~15secSQL~26sec生产:64位操作系统、SS2012、32核、32GBRAM、IIS8

c# - EF 6.X 中的 Entity Framework Code First Fluent API 默认值

如何使用EntityFrameworkCodeFirstFluentAPI为bool属性设置默认值?类似于:Property(l=>l.PropertyFlag).HasColumnType("bit").DefaultValue(1); 最佳答案 好消息,codefirst现在支持这个。在生成的迁移的“Up()”方法中,使用以下语法指定默认值:AddColumn("[tablename]","[columnname]",c=>c.Boolean(nullable:false,defaultValue:false));MSDNfor

c# - EF Code First 阻止使用 Fluent API 进行属性映射

我有一个类Product和一个复杂类型AddressDetailspublicclassProduct{publicGuidId{get;set;}publicAddressDetailsAddressDetails{get;set;}}publicclassAddressDetails{publicstringCity{get;set;}publicstringCountry{get;set;}//otherproperties}是否可以防止从Product类中的AddressDetails映射“Country”属性?(因为我永远不需要它用于Product类)像这样Property(

c# - EF 5 迁移无法连接到我们的数据库,即使它在运行时运行良好

我们有三个项目。Company.Domain(类库)Company.PublicWebsite(MVC3Web应用程序)Company.InternalWebsite(MVC3Web应用程序)这两个网站项目都引用了Company.Domain。我们的EF5DbContext位于Company.Domain.Data.EntityFramework中,它看起来像这样:usingSystem.Data.Entity;usingCompany.Domain.Data.EntityFramework.Entities;namespaceCompany.Domain.Data.EntityFra

c# - 如何防止 EF "The context cannot be used while the model is being created"错误?

查看我的Elmah错误日志,我看到一些来自EntityFramework的InvalidOperationException处理:Thecontextcannotbeusedwhilethemodelisbeingcreated.这是来自Nuget的最新EFCodeFirst库。我能够在网上找到的唯一信息是它是由将数据上下文作为单例引起的,这肯定不是我的情况。在我的Windsor安装程序中,我的EF工作单元结构正在注册:container.Register(Component.For().ImplementedBy().LifeStyle.PerWebRequest);我能够通过在VS

c# - EF Code First - 如何设置身份种子?

我有一个实体类publicclassEmployee{publiclongId{get;set;}publicstringName{get;set;}}我已将Id字段设置为主键并自动生成编号modelBuilder.Entity().HasKey(e=>e.Id);modelBuilder.Entity().Property(e=>e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);但我希望身份从10000开始播种,而不是从默认的1开始。我如何在EF中指定它? 最佳答案

c# - 在 EF4.1 中正确地从上下文附加和分离实体

我正在尝试为实体实现缓存机制。为了正确且无缝地使用缓存,我需要在将实体放入缓存之前将实体与当前上下文分离,并在从缓存中获取实体时将其附加回新上下文。(我的上下文生命周期是每个http请求)要求是——当实体被分离时,不应删除与之关联的所有导航属性(我已经填充)。如果需要,我可以更新缓存项(因此将它们正确附加到新上下文很重要)。这是我尝试创建一个EntityCache类-(这里的ServerCache是我的包装类,它将对象推送到ASP.NET缓存)publicstaticclassEntityCache{privatestaticDbContextcontext{get{return(Db

c# - 通过 EF/Linq 转换到 KeyValuePair

我正在尝试从EF/Linq查询中加载KeyValuePairs列表,如下所示:return(fromoincontext.myTableselectnewKeyValuePair(o.columnA,o.columnB)).ToList();我的问题是这会导致错误"OnlyparameterlessconstructorsandinitializersaresupportedinLINQtoEntities."有没有简单的方法解决这个问题?我知道我可以为此创建一个自定义类而不是使用KeyValuePair,但这看起来确实像是在重新发明轮子。 最佳答案

c# - Fluent API 首先在 EF Code 中实现零或一到零或一的关系

我有两个POCO类:订单类别:publicclassOrder{publicintId{get;set;}publicint?QuotationId{get;set;}publicvirtualQuotationQuotation{get;set;}....}报价类:publicclassQuotation{publicintId{get;set;}publicvirtualOrderOrder{get;set;}....}每个订单可以由一个或零个报价组成,并且每个报价都可能产生一个订单。所以我有一个“一或零”到“一或零”的关系,我如何在EFCodefirstbyFluentAPI中实

c# - EF 6 System.Data.Objects.ObjectContext 错误

我最近从EntitiesFramework5升级到EntitiesFramework6Alpha2,但出现以下错误:Methodnotfound:'System.Data.Objects.ObjectContextSystem.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()'.当我打电话时,它被击中了if(Membership.ValidateUser(model.UserName,model.Password)){}在不确定为什么会出现此错误之前,这曾经工作正常。有什么建议吗?