草庐IT

Entity-Framework

全部标签

c# - Entity Framework Core 使用多个 DbContext

我遇到一个问题,当我尝试访问我的PartsDbContext中的一个字段时,出现以下错误:System.Data.SqlClient.SqlException:'Invalidobjectname'fieldName''这似乎是因为我试图让我的PartsDbContext使用与我的ApplicationDbContext相同的数据库,后者与Identity一起使用。我需要知道如何设置第二个dbcontext以与使用/创建不同数据库的EF核心一起工作。我已经尝试创建第二个连接字符串,但出现此错误:System.Data.SqlClient.SqlException:'Cannotopen

c# - Linq-to-Entities 动态排序

这是我的查询,如何使用字符串作为orderby参数?stringsortColumn="Title";varitems=(fromlteminctxModel.Itemswhereltem.ItemID==vIdorderby//somethinghereselectltem).Skip(PageSize*PageIndex).Take(PageSize);更新:我不能只对结果集进行排序,因为我首先需要排序,然后才然后进行分页。 最佳答案 我使用这个助手:publicstaticclassOrderExt{privatestatic

c# - Linq-to-Entities 动态排序

这是我的查询,如何使用字符串作为orderby参数?stringsortColumn="Title";varitems=(fromlteminctxModel.Itemswhereltem.ItemID==vIdorderby//somethinghereselectltem).Skip(PageSize*PageIndex).Take(PageSize);更新:我不能只对结果集进行排序,因为我首先需要排序,然后才然后进行分页。 最佳答案 我使用这个助手:publicstaticclassOrderExt{privatestatic

c# - 如何使用 System.Lazy 和 Setter 来延迟初始化 POCO 实体中的列表?

我想在我的实体中使用System.Lazy来延迟初始化我的列表:publicclassQuestionary{privateLazy>_questions=newLazy>(()=>newList());publicIListQuestions{get{return_questions.Value;}set{_questions.Value=value;}}}问题出在我的SETTER上,得到这个错误:Theproperty'System.Lazy.Value'没有二传手如果我想做MyInstance.Questions=newList{...}?我该如何继续?更新:我正在努力避免这种情

c# - 如何使用 System.Lazy 和 Setter 来延迟初始化 POCO 实体中的列表?

我想在我的实体中使用System.Lazy来延迟初始化我的列表:publicclassQuestionary{privateLazy>_questions=newLazy>(()=>newList());publicIListQuestions{get{return_questions.Value;}set{_questions.Value=value;}}}问题出在我的SETTER上,得到这个错误:Theproperty'System.Lazy.Value'没有二传手如果我想做MyInstance.Questions=newList{...}?我该如何继续?更新:我正在努力避免这种情

c# - foreach 循环中的 DeleteObject()

使用EntityFramework,我尝试像这样从我的对象上下文中删除一些对象:foreach(varitemincontext.Items.Where(i=>i.Value>50)){context.Items.DeleteObject(item);}使用这段代码,我有一个“集合被修改”的异常。那么,如何进行批量删除呢? 最佳答案 您必须首先从要修改的集合中获取要删除的项目。您可以使用简单的LINQ查询(使用ToList()强制执行)来执行此操作:vartoDelete=context.Items.Where(i=>i.Value

c# - foreach 循环中的 DeleteObject()

使用EntityFramework,我尝试像这样从我的对象上下文中删除一些对象:foreach(varitemincontext.Items.Where(i=>i.Value>50)){context.Items.DeleteObject(item);}使用这段代码,我有一个“集合被修改”的异常。那么,如何进行批量删除呢? 最佳答案 您必须首先从要修改的集合中获取要删除的项目。您可以使用简单的LINQ查询(使用ToList()强制执行)来执行此操作:vartoDelete=context.Items.Where(i=>i.Value

c# - EntityFramework 中的代理是什么意思?

我在我的项目中使用了EntityFramework作为ORM,我在使用这项技术时没有任何问题。我听说EntityFramework创建了一个代理。我想知道这个ORM创建了什么代理?它能做什么?而且,EF何时创建它?换句话说,ORM主题中经常使用的术语“代理”是什么意思。 最佳答案 ORM世界中的代理是一种自动生成的类型,它继承自您的域对象类型。代理代表一个实例,它还没有被数据库中的数据填充,但只知道它自己的ID。每当访问映射到数据库的属性时,代理子类就会从数据库进行加载,这样加载对客户端代码是透明的。当您在延迟加载的两个实体之间具有

c# - EntityFramework 中的代理是什么意思?

我在我的项目中使用了EntityFramework作为ORM,我在使用这项技术时没有任何问题。我听说EntityFramework创建了一个代理。我想知道这个ORM创建了什么代理?它能做什么?而且,EF何时创建它?换句话说,ORM主题中经常使用的术语“代理”是什么意思。 最佳答案 ORM世界中的代理是一种自动生成的类型,它继承自您的域对象类型。代理代表一个实例,它还没有被数据库中的数据填充,但只知道它自己的ID。每当访问映射到数据库的属性时,代理子类就会从数据库进行加载,这样加载对客户端代码是透明的。当您在延迟加载的两个实体之间具有

c# - Entity Framework where、order 和 group

我正在使用以下LINQ从表中选择数据:(fromminentity.Resultswherem.Group==0||m.Group==1orderbym.Pointsdescendingselectm);这给了我第1组或第2组中所有用户的结果。这样我就可以显示他们拥有的分数。但这向我展示了他们分别在第1组和第2组中的分数。如何将它们分组并显示它们的总分?所以而不是这个(我现在拥有的):user1-group1-10user1-group2-7user2-group1-7user2-group2-5我想要这个:user1-total:17user2-total:12我必须如何调整查询才能