Articles of entity framework

entity framework4.1 DbContext生成器问题

我是Entity Framework 4.1的新手,我真的想转换到我的模型的POCO类。 我发现使用安装EF 4.1时提供的“DbContext Generator”项目非常容易。 它完全符合我的要求,并为我现有的EDMX模型生成了DbContext对象和所有POCO。 我运行了应用程序并测试它仍在运行。 它是。 很高兴我删除了EDMX文件和T4模板,并开始重新组织我的新POCO。 但是,在让它再次正确构建之后,我遇到了运行时问题。 在实例化DbContext时,它无法找到元数据文件:.csdl,.ssdl和.msl(我真的不知道它们是什么,只是它们是所有EF连接字符串的一部分)。 放回我的EDMX之后再次运行正常。 我真的不想要EDMX文件了。 我真的很想坚持POCO课程而忘记EDMX曾经存在过; 特别是因为我不希望它运行那些T4模板并重新生成我的POCO。 我有四个相关的问题: 为什么我必须在我的项目中保留edmx? 这有解决方法吗? 当您使用EF 4.1执行真正的“代码优先”时,会发生什么?它从哪里获取这些元数据文件? 那些元数据文件到底是什么?

向Identity users表添加软删除

我已将删除的列添加到我的Users表中,但显然注册Identity框架提供的新用户方法仍然会在数据库中看到这些用户,有没有办法告诉它忽略某个列? 注册 // this needs to ignore any DeletedAt where not null var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { … } 在登录 // this needs to ignore any DeletedAt where not null result = await SignInManager.PasswordSignInAsync( user.UserName, model.Password, model.RememberMe, shouldLockout: true ); …还有任何其他外部登录事件需要告知列。

asp.net mvc api return’此XML文件似乎没有与之关联的任何样式信息。 文档树如下所示。

我使用entity framework制作了一个简单的net mvc web api,当我进行api调用时,我在chrome中遇到这个错误: 此XML文件似乎没有与之关联的任何样式信息。 文档树如下所示。 在IE中没有出现这个错误,而是api的结果导致json文件的下载…我想要设置响应,例如结果将出现在浏览器中,而不是作为下载, 我该怎么做呢?

使用entity framework而不使用语句的缺点?

有很多像这样的代码块: public class SomeController : Controller { DbEntities entity = new DbEntities(); public ActionResult Add() { entity.someOperations… return View(); } public ActionResult Edit() { entity.someOperations… return View(); } public ActionResult Detail() { entity.someOperations… return View(); } public ActionResult Detail() { entity.someOperations… return View(); } ….. 我应该改变这样的方法吗?: public class SomeController : Controller { public ActionResult Add() […]

使用LINQ to Entities更新数据库

我一直在研究如何使用LINQ更新现有记录,但我没有运气。 这是我创建的方法 – intellisense不喜欢db.SubmitChanges() 。 public void updateRestaurant(int RestID, int HoursID, string Web, string Desc) { RestaurantsEntities db = new RestaurantsEntities(); RESTAURANT restDetails = (from RESTAURANT in db.RESTAURANTs where RESTAURANT.REST_ID == RestID select RESTAURANT).Single(); restDetails.HOURS_ID = HoursID; restDetails.REST_WEBSITE = Web; restDetails.REST_DESC = Desc; db.SubmitChanges(); }

迁移期间未找到Entity Framework外键

在将密钥和外键添加到数据模型后设置迁移时遇到意外错误。 我正在使用带有.NET framework 4.5的VS2013 Express。 在为Entity Framework创建数据模型时,由于类之间的关系键不符合惯例,我使用MS Data Developer Center中概述的数据注释。 这是类代码: using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace BacklogTracker.Models { public class WorkOrder { [Key] public string woNum { get; set; } public string woClosingStatus { get; set; } [ForeignKey(“ID”)] public virtual ICollection woNotes { get; set; } [ForeignKey(“machSN”)] public virtual Machine woMachine […]

升级到Core 2 Preview 2后获取“无法解析类型的服务..”

我刚刚升级到ASP.NET Core 2 Preview 2并遇到了dependency injection的问题。 我明白了 在运行项目时,无法为类型为“LC.Tools.API.Startup”的方法“Configure”的参数“context”解析类型为“LC.Tools.API.Data.GenericDbContext”的服务。 使用旧版本时我没有遇到此问题。 DbContext(GenericDbContext): namespace LC.Tools.API.Data { public class GenericDbContext : DbContext { public GenericDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder builder) { //Generic builder.Entity(); builder.Entity(); . . . . . //Shop builder.Entity().ToTable(“ShopClient”); builder.Entity().ToTable(“ShopCategory”); . . . . . . } } Startup.cs: namespace LC.Tools.API { […]

C#Entity Framework我们应该使用POCO.Id还是仅使用POCO设置关系?

我有一种服务方法的情况,其中将POCO指定为另一个POCO的子对象不能按预期工作。 我正在使用Entity Framework 4。 public void ChangeOrderCurrency(Currency currency) { order.CurrencyId = currency.Id; order.Currency = currency; // other stuff related to exchange rates etc } 哪个用于设置关系更正确? order.CurrencyId = currency.Id或order.Currency = currency ? 在当前通过所有unit testing的代码中,有时行order.Currency = currency将orderCurrencyId和order.Currency设置为NULL

在Entity Framework和WPF UI中显示计算属性

我的EF数据模型中有一个下载实体。 它的两个属性Size和BytesDownloaded计算得到我在partial类中创建的Progress属性: partial class Download { public int Progress { get { if (!Size.HasValue || Size.Value == 0) return 0; return Convert.ToInt32(Math.Floor(100.0 * ((double)BytesDownloaded / (double)Size))); } } } 在我的WPF UI中,我有: 由于Progress不是实体模型(edmx)的一部分,因此我必须通知UI它应该更新ProgressBar。 我以为我可以这样做: partial void OnBytesDownloadedChanging(long value) { ReportPropertyChanging(“Progress”); } partial void OnBytesDownloadedChanged() { ReportPropertyChanged(“Progress”); } 这编译很好,但是当我运行应用程序并调用OnBytesDownloadedChanging / Changed时,我在调用ReportPropertyChanging / Changed时遇到此exception: 属性“Progress”在实体对象上没有有效的实体映射。 有关更多信息,请参阅Entity Framework文档。 我理解错误信息的内容,但我不明白我能做些什么才能真正实现我的目标。 […]

唯一索引约束上的EF Core / Sqlite一对多关系失败

上下文是每个Car都有一个相应的CarBrand 。 现在我的课程如下所示: public class Car { public int CarId { get; set; } public int CarBrandId { get; set; } public CarBrand CarBrand { get; set; } } public class CarBrand { public int CarBrandId { get; set; } public string Name { get; set; } } public class MyContext : DbContext { public […]