Questions tagged «entity-framework»

有关ADO.NET实体框架的问题,请参阅.NET Framework的对象关系映射(ORM)工具。如果适用,请添加特定于版本的标签。请勿对实体框架核心问题使用此标签。请改用entity-framework-core。

5
EF LINQ包含多个嵌套实体
好的,我具有具有以下层次结构的三级实体:课程->模块->本章 这是原始的EF LINQ语句: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters)) .Single(x => x.Id == id); 现在,我想包含另一个与课程关联的名为Lab的实体。 如何包括实验室实体? 我尝试了以下操作,但没有成功: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters) && i.Lab) .Single(x => x.Id == id); 关于包括第二实体的任何想法? 任何建议或信息将不胜感激。谢谢!

8
EF代码第一个“无效的列名'Discriminator'”,但没有继承
我的数据库中有一个名为SEntries的表(请参见下面的CREATE TABLE语句)。它有一个主键,几个外键,对此没什么特别的。我的数据库中有许多与该表相似的表,但是由于某种原因,该表以EF Proxy Class的“ Discriminator”列结尾。 这是在C#中声明类的方式: public class SEntry { public long SEntryId { get; set; } public long OriginatorId { get; set; } public DateTime DatePosted { get; set; } public string Message { get; set; } public byte DataEntrySource { get; set; } public string SourceLink { get; …

8
实体框架核心先添加唯一约束代码
我找不到使用属性向字段添加唯一约束的方法: public class User { [Required] public int Id { get; set; } [Required] // [Index("IX_FirstAndSecond", 2, IsUnique = true)] not supported by core public string Email { get; set; } [Required] public string Password { get; set; } } 我正在使用这些软件包: "Microsoft.EntityFrameworkCore": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1", "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",



30
找不到类型或名称空间名称'DbContext'[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我是ASP.NET MVC(3)的新手,并且很难解决Visual Studio中的生成错误: 找不到类型或名称空间名称“ DbContext”(您是否缺少using指令或程序集引用?) using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MyProjectName.Models { public class MachineModel { // name [Required] [Display(Name = "Nom de la machine")] public string Name { get; set; } // IP [Required] [RegularExpression(@"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", ErrorMessage = …

21
实体类型<type>不是当前上下文模型的一部分
我正在进入实体框架,但是不确定是否缺少代码优先方法的关键点。 我正在使用基于https://genericunitofworkandrepositories.codeplex.com/中的代码的通用存储库模式,并创建了我的实体。 但是,当我尝试访问或修改实体时,会遇到以下问题: System.InvalidOperationException:实体类型Estate不属于当前上下文模型。 当我尝试从存储库访问它时会发生这种情况: public virtual void Insert(TEntity entity) { ((IObjectState)entity).ObjectState = ObjectState.Added; _dbSet.Attach(entity); // &lt;-- The error occurs here _context.SyncObjectState(entity); } 可以很好地创建数据库(./SQLEXPRESS),但是在启动时不创建实体(表)。 我想知道是否需要显式设置实体的映射?EF自己不能做到这一点吗? 我的实体是: public class Estate : EntityBase { public int EstateId { get; set; } public string Name { get; set; } } 我的情况是这样的: public partial …

12
EntityType没有键定义错误
控制器: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; using System.ComponentModel.DataAnnotations.Schema; namespace MvcApplication1.Controllers { public class studentsController : Controller { // // GET: /students/ public ActionResult details() { int id = 16; studentContext std = new studentContext(); student first = std.details.Single(m =&gt; m.RollNo == id); return …

5
C#实体框架:如何在模型对象上组合.Find和.Include?
我正在做mvcmusicstore练习教程。在为相册管理器创建支架(添加删除编辑)时,我注意到了一些东西。 我想优雅地编写代码,因此我正在寻找一种简洁的编写方式。 仅供参考,我正在使商店更通用: 专辑=项目 流派=类别 艺术家=品牌 这是检索索引的方式(由MVC生成): var items = db.Items.Include(i =&gt; i.Category).Include(i =&gt; i.Brand); 这是检索要删除的项目的方式: Item item = db.Items.Find(id); 第一个带回所有项目,并在项目模型中填充类别和品牌模型。第二个,不填充类别和品牌。 从理论上讲,我该如何编写第二个代码来进行查找并填充内部内容(最好在1行中)... Item item = db.Items.Find(id).Include(i =&gt; i.Category).Include(i =&gt; i.Brand);


6
LINQ To Entities无法识别方法Last。真?
在此查询中: public static IEnumerable&lt;IServerOnlineCharacter&gt; GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderBy(p =&gt; p.ServerStatus.ServerDateTime) .GroupBy(p =&gt; p.RawName) .Select(p =&gt; p.Last()); } 我必须将其切换为此才能工作 public static IEnumerable&lt;IServerOnlineCharacter&gt; GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderByDescending(p =&gt; p.ServerStatus.ServerDateTime) .GroupBy(p =&gt; p.RawName) .Select(p =&gt; p.FirstOrDefault()); } 我什p.First()至无法使用来镜像第一个查询。 为什么在其他功能如此强大的ORM系统中存在这些基本限制?
144 c#  entity-framework  orm 


7
如何为实体框架重新创建数据库?
使用Code-First Entity Framework,我的ASP.Net MVC 5项目陷入了困境。我不在乎丢失数据,我只想能够重新启动,重新创建数据库并开始使用Code-First迁移。 目前,我处于每次尝试更新数据库都会导致引发异常或收到错误消息的状态。网站也无法正确访问数据库。如何清除所有迁移,重新创建数据库并从头开始,而无需创建新项目?换句话说,我想保留我的代码但删除数据库。 稍后,我还将希望同步部署数据库(Azure上的SQL Server)。同样,我不介意删除所有数据-我只想使其正常运行。 请提供任何操作步骤以恢复到干净状态。非常感激。

2
实体框架.Remove()与.DeleteObject()
您可以通过以下两种方法使用EF从数据库中删除项目。 EntityCollection.Remove方法 ObjectContext.DeleteObject方法 第一个在上EntityCollection,第二个在上ObjectContext。 什么时候应该使用? 一个人比另一个人偏爱吗? Remove()返回a bool并DeleteObject()返回void。

2
实体框架异步操作需要十倍的时间才能完成
我有一个使用Entity Framework 6处理数据库的MVC站点,并且我一直在尝试对其进行更改,以使所有内容都作为异步控制器运行,并且对数据库的调用作为它们的异步对应对象(例如ToListAsync()而不是ToList()) 我遇到的问题是,仅将查询更改为异步已使它们的运行速度变得异常慢。 以下代码从我的数据上下文中获取“相册”对象的集合,并转换为相当简单的数据库联接: // Get the albums var albums = await this.context.Albums .Where(x =&gt; x.Artist.ID == artist.ID) .ToListAsync(); 这是创建的SQL: exec sp_executesql N'SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN], [Extent1].[Title] AS [Title], [Extent1].[ReleaseDate] AS [ReleaseDate], [Extent1].[AccurateDay] AS [AccurateDay], [Extent1].[AccurateMonth] AS [AccurateMonth], [Extent1].[Type] AS [Type], [Extent1].[Tracks] AS …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.