草庐IT

extract_first

全部标签

c# - 在 Database First 中更改实体和属性名称

我正在启动一个新应用程序,该应用程序必须使用现有数据库,该数据库使用一些在.net中非常烦人的命名约定(表名以指定表的业务域的几个三元组开头,列名以表开头八卦,三卦都是大写的,用下划线等分隔,)。我想做的是编写一个简单的重命名规则(这就像找到最后一个下划线并获取后面的所有内容一样简单)并将其应用到EntityFramework中。我真的不想在编辑器中一个一个地编辑名字,尤其是因为数据库可能会改变,我不想重复多次。我正在使用DatabaseFirst(因为数据库已经存在并且它是“主数据库”)和EF4.xDbContextGenerator,它开箱即用(尽管类和属性的命名很糟糕)。我编辑了

c# - EF Code-First 中查找表的最佳实践

我正在使用EF做我的第一个项目,我打算采用代码优先模型。我试图找到一些关于处理相当经典的“查找表”场景的指导。我正在处理一个非常典型的情况,我将在其中保留地址数据。所以,我有一个简单的地址DTO...publicclassAddress{publicintId{get;set;}publicvirtualstringStreetAddress1{get;set;}publicvirtualstringStreetAddress2{get;set;}publicvirtualstringCity{get;set;}publicvirtualstringState{get;set;}pub

c# - Entity Framework 4.1 RC : Code First EntityTypeConfiguration inheritance issue

我正在尝试使用一个通用的EntityTypeConfiguration类来为我的所有实体配置主键,以便每个派生配置类不会重复自身。我的所有实体都实现了一个通用接口(interface)IEntity(表示每个实体都必须有一个int类型的Id属性)。我的配置基类如下所示:publicclassEntityConfiguration:EntityTypeConfigurationwhereTEntity:class,IEntity{publicEntityConfiguration(){HasKey(e=>e.Id);Property(e=>e.Id).HasDatabaseGenerat

c# - 如何使用 Simple injector、Repository 和 Context - code first

我正在尝试使用SimpleInjector创建我的存储库并在业务逻辑层中使用它(我也想使用PerWebRequest方法)。在DAL层我有:publicinterfaceIRepositorywhereT:class{voidAdd(Tentity);voidDelete(Tentity);voidDelete(intid);voidUpdate(Tentity);TGetById(intId);IQueryableAll();IEnumerableFind(Funcpredicate);}和:publicclassEFRepository:IRepository,IDisposabl

c# - Entity Framework Code First 中的有效原始属性是什么?

当我尝试将列映射到我的模型类中的char数据类型时,出现错误:Theproperty'[ColumnName]'isnotadeclaredpropertyontype'[ClassName]'.VerifythatthepropertyhasnotbeenexplicitlyexcludedfromthemodelbyusingtheIgnoremethodorNotMappedAttributedataannotation.Makesurethatitisavalidprimitiveproperty.EFCodeFirst的有效基元类型是什么? 最佳答

c# - Entity Framework 4 Code First 是否支持像 NHibernate 这样的身份生成器?

一年前问的这个问题是类似的:DoestheEntityFramework4supportgeneratorsforidvalueslikeNHibernate?但我想知道代码优先CTP是否添加了对身份生成策略的支持。如果没有,有人知道EF中的一个很好的扩展点来实现类似的东西吗?我目前正在处理使用GUID作为标识符的模型类。使用EF插入时,它们会保留其Guid.Empty初始值。我知道您可以将数据库中列的默认值设置为newid()但这违背了客户端身份生成的目的。EntityFramework是否不够成熟,无法在分布式、断开连接的系统中使用? 最佳答案

c# - 如何对 Entity Framework Code First 映射进行单元测试?

我正在使用CodeFirst将类映射到现有数据库。我需要一种方法来对这些映射进行单元测试,它们混合了基于约定、基于属性和流畅的API。为了进行单元测试,我需要确认类的属性映射到数据库中正确的表名和列名。此测试需要针对上下文执行,并且应首先涵盖代码的所有配置选项。在非常高的层次上,我希望断言类似(伪代码)的东西:Assert.IsTrue(context.TableFor().IsNamed("tbl_Widget"));Assert.IsTrue(context.ColumnFor(w=>w.Property).IsNamed("WidgetProperty"));

c# - 为什么 EF4 Code First 在存储对象时这么慢?

我目前正在研究db4o存储在我的Web应用程序中的使用情况。我很高兴db4o工作起来如此简单。因此,当我读到CodeFirst方法时,我有点喜欢它,因为使用EF4CodeFirst的方式与使用db4o非常相似:创建您的域对象(POCO),将它们扔到db4o中,然后永不回头。但是当我进行性能比较时,EF4慢得可怕。我不知道为什么。我使用以下实体:publicclassRecipe{privateList_RecipePreparations;publicintID{get;set;}publicStringName{get;set;}publicStringDescription{get

c# - 如何更改 EF Code First 中主键的名称?

我有一个场景,我想更改实体中的主键名称并能够运行update-database-force。请参阅下面的代码和尝试时出现的错误。实体是:publicclassTeam{[Key][HiddenInput(DisplayValue=false)]publicvirtualintId{get;set;}[Display(Name="FullName:")]publicvirtualstringName{get;set;}}实体更改为:publicclassTeam{[Key][HiddenInput(DisplayValue=false)]publicvirtualintTeamId{ge

c# - FirstOrDefault/First 和 OrderByDescending 是否比 LastOrDefault/Last 和 OrderBy 更快?

这个问题在这里已经有了答案:OrderBy().Last()orOrderByDescending().First()performance(6个答案)关闭9年前。我有一个LINQ问题,想知道是否有人知道答案。通常,如果我想查找按特定字段排序的记录,例如“最新添加的人”,我会这样写:MyCollection.OrderByDescending(x=>x.AddedDate).FirstOrDefault();最近我从团队中另一个喜欢写的开发人员那里接了一些工作:MyCollection.OrderBy(x=>x.AddedDate).LastOrDefault();所以我的问题是,按降