Tag: entity framework

entity framework和多个模式

我正在尝试设置我的dbContext,以便它可以在单个Oracle数据库中处理多个模式。 我不想要一个单片dbContext文件,所以我想出了以下内容: public class oraDbContext : DbContext { static oraDbContext() { Database.SetInitializer(null); } public oraDbContext(string connName) : base(“Name=” + connName) { } public _schema1 schema1 = _schema1.Instance; public _schema2 schema2 = _schema2.Instance; protected override void OnModelCreating(DbModelBuilder modelBuilder) { schema1.OnModelCreating(modelBuilder); schema2.OnModelCreating(modelBuilder); } } 模式文件如下所示: public sealed class _schema1 { private static readonly _schema1 instance = new […]

在EF4中更改db表名称(entity framework4)

有谁知道如何在EF4(entity framework4)中更改实体的映射数据库表? 稍后编辑:我想我已经在模型浏览器中找到了定义表名的位置。 但他们的名字是只读的,所以不可能使用设计师编辑它们。 此外,没有引用(从我搜索过的内容)到xml架构中的表名。

entity framework通过包含对象,多对多

我很好奇是否可以通过包含对象映射中间表。 public class Subscriber : IEntity { [Key] public int Id { get; set; } public string Name { get; set; } private ChannelList _subscribedList { get; set; } public int NumSubscribedChannels { get { return _subscribedList.Count(); } } } public class HelpChannel : IEntity { [Key] public int Id { get; set; } public […]

EF Lambda:Include路径表达式必须引用导航属性

这是我的表达: Course course = db.Courses .Include( i => i.Modules.Where(m => m.IsDeleted == false) .Select(s => s.Chapters.Where(c => c.IsDeleted == false)) ).Include(i => i.Lab).Single(x => x.Id == id); 我知道原因是模块部分中的Where(m => m.IsDeleted == false) ,但为什么会导致错误? 更重要的是,我该如何解决? 如果我删除where子句它工作正常,但我想过滤掉已删除的模块。

EF 6 – 如何正确执行并行查询

在创建报告时,我必须执行3个涉及相同上下文的分离实体的查询。 因为它们很重,我决定使用.ToListAsync(); 为了让它们并行运行,但令我惊讶的是,我得到了一个例外… 使用EF 6并行执行查询的正确方法是什么? 我应该手动启动新任务吗? 编辑1 代码基本上是 using(var MyCtx = new MyCtx()) { var r1 = MyCtx.E1.Where(bla bla bla).ToListAsync(); var r2 = MyCtx.E2.Where(ble ble ble).ToListAsync(); var r3 = MyCtx.E3.Where(ble ble ble).ToListAsync(); Task.WhenAll(r1,r2,r3); DoSomething(r1.Result, r2.Result, r3.Result); }

将多个表映射到entity framework中的单个实体类

在此之前被标记为重复,我已检查其他相关的post,他们不回答我的问题。 我正在处理一个遗留数据库,该数据库有2个具有1:1关系的表。 目前,我为每个定义的表都有一个类型(1Test:1Result)我想将这些特定的表合并为一个类。 目前的类型看起来像这样 public class Result { public string Id { get; set; } public string Name { get; set; } public string Text { get; set; } public string Units { get; set; } public bool OutOfRange { get; set; } public string Status { get; set; } public string Minimum { get; […]

如何将entity frameworkICollection更改为ObservableCollection?

所以我在使用Entity Framework设计器制作EDMX作为MVVM项目中的模型时,已经远远不够了。 我刚刚遇到一个问题,我很确定代码生成的ICollection (例如见下文)确实需要一个ObservableCollection来将该集合绑定到视图中的DataGrid才能成功。 我想我有可能修改EF代码生成以制作ObservableCollections而不是ICollections 。 有没有人成功尝试过? 我想另一种选择是让包含所选Customer对象的VM还包含在选择Customer对象时创建的本地ObservableCollection ….我只是担心上下文保存并保持数据同步。 与一组子对象关联的典型代码gen对象: public partial class Customer { public Customer() { this.Orders = new HashSet(); } public int Id { get; set; } public System.DateTime Date { get; set; } public virtual ICollection Orders { get; set; } }

如何在EntityFramework中按DateTime.Date进行分组

我有一个设备型号: public class DeviceModel { public DateTime Added { get;set; } } 我想选择设备数量,按Added日期( 不是日期和时间,但仅限日期 )分组。 我当前的实现无效,因为linq无法将DateTime.Date转换为sql: var result = ( from device in DevicesRepository.GetAll() group device by new { Date = device.Added.Date } into g select new { Date = g.Key.Date, Count = g.Count() } ).OrderBy(nda => nda.Date); 如何更改此查询以使其工作?

entity framework代码首先:循环或多个级联路径

我有一个Booking类,它有一个预订联系人(一个Person )和一组导航属性( People ),它们通过连接表链接到另一组Person的导航属性( Bookings )。 如何生成Booking表,并为预订联系人关系启用了级联删除? 当我将它从流畅的API代码中删除时(启用了级联删除的默认设置),我从迁移中收到以下错误消息: 在’BookingPeople’表上引入FOREIGN KEY约束’FK_dbo.BookingPeople_dbo.People_PersonID’可能会导致循环或多个级联路径。 指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束或索引。 查看以前的错误。 modelBuilder.Entity() .HasMany(s => s.aBookings) .WithRequired(s => s.Contact) .HasForeignKey(s => s.ContactId); modelBuilder.Entity() .HasMany(t => t.People) .WithMany(t => t.Bookings) .Map(m => { m.ToTable(“BookingPeople”); m.MapLeftKey(“BookingID”); m.MapRightKey(“PersonID”); });

LINQ to entities – 构建where子句以在多对多关系中测试集合

所以,我正在使用Linqentity framework。 我有2个实体: Content和Tag 。 他们彼此处于多对多的关系中。 Content可以有很多Tags , Tag可以有很多Contents 。 所以我试着写一个查询来选择任何标签名称等于blah所有内容 这些实体都将另一个实体的集合作为属性(但没有ID)。 这是我在努力的地方。 我确实有Contains的自定义表达式(所以,无论谁可以帮助我,你可以假设我可以为一个集合做一个“包含”)。 我得到了这个表达式: http : //forums.microsoft.com/MSDN/ShowPost.aspx?PostID = 2670710&SiteID = 1 编辑1 我最终找到了自己的答案。