草庐IT

ENTITY_SET_NAMES

全部标签

c# - 为什么存储库模式在 Entity Framework 中被广泛使用,好像它很复杂?

我正在创建一个演示项目,其中包含使用存储库模式和依赖项注入(inject)的crud操作。这是我的结构:方法1(非常流行,被许多开发人员使用)我的存储库界面:publicpartialinterfaceIRepository{voidInsert(Tentity);}我的服务层:publicpartialinterfaceIEmployeeService{voidInsertCategory(EmployeeMasteremployeeMaster);}我的类将实现该接口(interface)(服务):publicpartialclassEmployeeService:IEmploye

c# - 为什么使用 Attach 更新 Entity Framework 6?

在搜索通过EF执行CRUD操作的最佳实践时,我注意到强烈建议在更新实体之前使用Attach()或Find()方法.它运行良好,根据EF文档,这些方法将实体提取到对我来说非常清楚的上下文中。但是下面的代码让我很困惑publicvoidUpdate(objectentity){Recordrecord=newRecord(){id=1,value=5};using(SomeContextctx=newSomeContext()){ctx.Entry(record).State=EntityState.Modified;ctx.SaveChanges();}}假设我们在数据库中有一条id=1

c# - Entity Framework Core 2.0.1 在所有嵌套的相关实体上预先加载

我有一个简单的问题,但似乎找不到解决方法。我正在使用EntityFrameworkCore版本2.0.1,并希望在默认情况下预先加载我的所有实体。例子:publicclassOrder{publicintId{get;set;}publicstringName{get;set;}publicintCustomerId{get;set;}publicCustomerCustomer{get;set;}}publicclassCustomer{publicintId{get;set;}publicstringName{get;set;}publicintAddressId{get;set;

c# - 是否可以创建用于将项目添加到 Entity Framework dbset 的通用方法?

我之前没有使用过EntityFramework或泛型,在减少我的代码时遇到了一些困难。我正在解析一个文本文件以加载10个查找表,其中包含可能每晚都可能更改的数据。文本文件有一个“类型”标题,后跟键/值集列表。我已经完美地工作了,但我想重构代码以清理它,并想使用通用方法来完成它,这样我就可以减少重复的代码。我已经将解析归结为通用方法,但我无法弄清楚如何以通用方式将实体添加到上下文中。我必须遍历每种类型的实体列表并将它们添加到上下文中:voidMain(){switch(line.ToUpper()){case"AREA":{ListareaList=this.GetItems(file)

c# - 如何让 Entity Framework Code First 和可为空的外键属性工作?

我正在尝试创建一个简单的EntityFramework代码优先应用程序。我有这些类(class):publicclassUser{publicintUserId{get;set;}publicstringUsername{get;set;}publicvirtualActivationTicketActivationTicket{get;set;}}publicclassActivationTicket{publicintActivationTicketId{get;set;}publicvirtualUserUser{get;set;}publicstringTicket{get;s

c# - 将 DataAnnotations 与 Entity Framework 一起使用

我在VS2010中使用了EntityFramework来创建一个简单的人类,其中包含属性、名字、姓氏和电子邮件。如果我想像在本blogpost中那样附加DataAnnotations我有一个小问题,因为我的person类是动态生成的。我可以直接编辑动态生成的代码,但任何时候我必须更新我的模型时,我的所有验证代码都会被清除。第一直觉是创建一个部分类并尝试附加注释,但它提示说我正在尝试重新定义该属性。我不确定您是否可以在C#中进行属性声明,就像在C++中进行函数声明一样。如果可以,那可能就是答案。这是我尝试过的片段:namespacePersonWeb.Models{publicparti

c# - Visual Studio 2017 : "Object reference not set to an instance of an object" while loading the project

我在VS解决方案中有一个项目可以在VS2015中正确加载,但它似乎在VS2017(RC2)中已损坏。在解决方案资源管理器中,它显示其“加载失败”,当我尝试重新加载它时,我收到一个错误弹出窗口,消息为“对象引用未设置为对象的实例”。我认为这可能是因为VS2017以某种方式更改了.csproj文件以满足他们的需要,但是在将它与VS2015解决方案中的版本进行比较后我发现它们并没有什么不同。有人遇到过这样的事情吗?以及如何修复它?谢谢。 最佳答案 对于VisualStudio2017的我来说,这些建议都没有奏效。有效的方法是关闭所有Vis

c# - Entity Framework 核心 - 包含区分大小写还是不区分大小写?

EntityFramework核心中的“包含”应该等同于SQL%like%运算符。因此,“包含”应该不区分大小写,但它区分大小写!(至少在postgres中????)以下仅在使用正确的关键字大小写时才输出结果。context.Counties.Where(x=>x.Name.Contains(keyword)).ToList();我做错了什么? 最佳答案 旧版本的EF核心曾经是这种情况。现在string.Contains区分大小写,例如对于sqlite,它映射到sqlite函数`instr()'(我不知道postgresql)。如果

c# - Linq to Entity 从 DateTime 获取日期

varislemList=(fromislinentities.Islemlerwhere(isl.KayitTarihi.Date>=dbas&&isl.KayitTarihi.Value.Date它给出错误:LINQtoEntities不支持日期...我如何在linq中获取日期。 最佳答案 使用EntityFunctions.TruncateTime. 关于c#-LinqtoEntity从DateTime获取日期,我们在StackOverflow上找到一个类似的问题:

c# - 将 Entity Framework Core 迁移用于类库项目

这似乎是anissuethathavebeenfixedalready,至少对于SQLite数据库而言。我的解决方案包含3个项目:WPF项目(默认启动项目)(.NETFramework4.7),持有View模型和非UI内容的“核心”项目-类库项目(.NETStandard2.0)包含所有EntityFramework数据层的“关系”项目-我喜欢将它们分开(.NETStandard2.0)我已将以下包安装到主WPF项目中:Microsoft.EntityFrameworkCore.ToolsMicrosoft.EntityFrameworkCore.Design项目2和3在我的主要WPF