草庐IT

c# - 如何在 EF Core 2 中为 .ThenInclude 编写 Repository 方法

我正在尝试为EntityFrameworkCore2.0编写一个存储库方法,该方法可以使用.ThenInclude处理返回的子属性集合,但我在使用第二个表达式时遇到了问题。这是.Include的工作方法,它将返回实体的子属性(您提供lambda列表)。publicTGetSingle(Expression>predicate,paramsExpression>[]includeProperties){IQueryablequery=_context.Set();foreach(varincludePropertyinincludeProperties){query=query.Incl

c# - EF 不同 (IEqualityComparer) 错误

早上好!给定:publicclassFooClass{publicvoidFooMethod(){using(varmyEntity=newMyEntity){varresult=myEntity.MyDomainEntity.Where(myDomainEntity=>myDomainEntity.MySpecialID>default(int)).Distinct(newFooComparer);}}}publicclassFooComparer:IEqualityComparer{publicboolEquals(MyEntity.MyDomainEntityx,MyEntity

c# - EF 可以自动删除孤立的数据,其中父项未被删除吗?

对于使用CodeFirstEF5beta的应用程序,我有:publicclassParentObject{publicintId{get;set;}publicvirtualListChildObjects{get;set;}//Othermembers}和publicclassChildObject{publicintId{get;set;}publicintParentObjectId{get;set;}//Othermembers}必要时,相关的CRUD操作由存储库执行。在OnModelCreating(DbModelBuildermodelBuilder)我已经设置好了:mod

c# - 在 EF4 中更改数据库表名称( Entity Framework 4)

有谁知道如何更改EF4(EntityFramework4)中实体的映射数据库表?稍后编辑:我想我已经在模型浏览器中找到了定义表名的地方。但它们的名称是只读的,因此无法使用设计器对其进行编辑。此外,在xml架构中没有对表名的引用(根据我的搜索)。 最佳答案 如果您只需要更改表的名称,您可以:使用XML编辑器打开EDMX文件。在其中找到SSDL部分。找到实体集元素,例如.添加Table="MyTableName"属性。这是一个完整的CSDL,SSDL,MSLspecification.希望对您有所帮助。

c# - 如何让 EF Core 数据库首先使用枚举?

我将EFCore与数据库优先方法结合使用,使用“Scaffold-DbContext”命令生成我的DbContext/实体。我如何指示Scaffold-DbContext某个表中的某个字段应该生成代码以使用Enum而不仅仅是int?这就是您过去在常规EF中的做法:https://www.devu.com/cs-asp/lesson-69-mapping-enum-types-entity-properties-framework-designer/例子此枚举已在代码中定义:publicenumStateEnum{Ok=1,Fail=2}这就是Scaffold-DbContext给我的东

c# - 已设置 EF6 'DbConfigurationClass' 但未发现此类型 - 多个 DbContexts 和 DbConfigurations

我有一个解决方案,其中我们有两个DbContext,我们正在从EF4迁移到EF6。旧的DbContext是代码优先的,我们主要使用较新的生成的db-first,但由于外部依赖性,两者都需要运行。我的类(class)是这样的:namespaceOld.Busted.EF.DAL{[DbConfigurationType(typeof(Old.Busted.EF.DAL.OldConfiguration))]publicclassOldContext:DbContext[...]publicclassOldConfiguration:DbConfiguration[...]}namespa

C#、EF 和 LINQ : slow at inserting large (7Mb) records into SQL Server

这个问题有一个长版和一个短版。短版:为什么LINQ和EF在将单个大(7Mb)记录插入远程SQLServer数据库时如此缓慢?这是长版(提供一些有关变通方法的信息,可能对其他读者有用):以下所有示例代码都运行正常,但由于我的用户在欧洲,而我们的数据中心位于美国,所以运行速度非常慢。但是如果我在美国的VirtualPC上运行相同的代码,它会立即运行。(不,遗憾的是我的公司希望将所有数据保留在内部,所以我不能使用Azure、亚马逊云服务等)我的很多公司应用程序都涉及从Excel读取/写入数据到SQLServer,而且通常,我们希望将Excel文件的原始副本保存在SQLServer表中。这很简

c# - EF 6 - 代码第一个无效的一对一外键关系

设计背景:我正在尝试为以下数据库结构创建代码优先EF6映射:数据库设计如下:我们没有将“CustomerID”作为所有相关实体(就业、支出、收入等)的外键,而是有一个包含CustomerID的CustomerRelationship表,然后一个“RelatedID”列,它将包含相关实体的键。例如,假设我为CustomerID=1添加了一条就业记录,那么将发生以下情况:CreaterecordinCustomerRelationship,settingCustomerID=1RelatedID={newautogeneratedEmploymentID,letssay5}Customer

c# - EF 6 的工作单元和依赖注入(inject)设计问题

我使用EntityFramework6开发Web应用程序,在设计应用程序结构时遇到困难。我的主要问题是如何在我的特定情况下处理依赖项注入(inject)。下面的代码是我希望应用程序的样子。我正在使用Autofac,但我想它对每个DI用户来说都足够基本了:publicinterfaceIUnitOfWork{boolCommit();}publicclassUnitOfWork:IUnitOfWork,IDisposable{privateDbContext_context;publicUnitOfWork(DbContextcontext){_context=context;}publ

c# - 影响 EF 代码中的外键列命名(CTP5)

我有一个POCO类,它与另一个类有两个单向一元关系,两个类共享一个祖先。生成的模式中的外键名称不反射(reflect)属性名称。(属性MainContact和FinancialContact提供PersonId和PersonId1字段名称)。我如何影响架构生成以生成与属性名称匹配的数据库列名称?模型看起来像这样:代码如下所示:publicclassCustomerContext:DbContext{publicDbSetOrganisations{get;set;}publicDbSetPersons{get;set;}protectedoverridevoidOnModelCreat