Tag: entity framework 6

C#Generic传递具有相同属性的不同对象

我不确定我所做的事情是否可行。 我有2种方法。 2种方法的主体完全相同,但参数和返回方法的签名都不同。 传入的参数的属性已更改,对象不同但具有相同的属性名称(它们是两个不同的entity framework实体)。 从基础对象inheritance是不可能的(我认为)因为这些是entity framework实体。 最好展示示例,然后谈谈它.. 方法1 private static IQueryable ApplyMapFilterToListings(IQueryable listings, ListingSearchCriteria criteria, bool boolIsPremiumListingsOnly = false) { //setting properties of listings (of type MapListing Entity) } 方法2 private static IQueryable ApplyFilterToListings(IQueryable listings, ListingSearchCriteria criteria, bool boolIsPremiumListingsOnly = false) { //setting properties of listings (of type vListing Entity) } 一般来说,我不介意函数体是否完全相同,但是在这种情况下,很多属性都是有条件设置的,我想让这些方法完全相同,并且certificate它们不同步。 我还在退回IQueryable 的原因是因为我在返回后做了其他的事情

EF 6.1 Code First中不同主键的一对一关系

我在使用Entity Framework 6.1从PayGroup对象获取对employee对象的引用时遇到问题。 我在PayGroup.SupervisorId – > Employee.EmployeeId的数据库中有一个外键。 请注意,这是一个零或一对一的关系(薪资组只能有一个主管,一个员工只能是一个薪酬组的主管)。 根据GitHub上的这篇文章,在具有不同主键的表上不可能有外键。 我已经手动将外键添加到数据库中,但我无法弄清楚如何设置流畅的api映射以便能够从薪酬组中获取员工对象。 薪酬组表 员工表 注意:PayGroup.SupervisorId中有一个外键 – 数据库中的Employee.EmployeeId。 下面是DTO(我目前在这些类之间没有任何工作关系映射): public class PayGroup { public int Id { get; set; } public string SupervisorId { get; set; } public virtual Employee Supervisor { get; set; } } public class Employee { public string EmployeeId { get; set; } public […]

在MVC 5 Dot Net Identity中扩展IdentityUserRole后,UserManager.GetRoles不起作用

我通过添加外键列扩展了IdentityUserRole,现在我无法授权或检索角色信息。 可以请任何人帮我解决这个问题。 我的IdentityUserRole有一个来自AspNetApplications表的外键列,IdentityUserRole扩展名如下 public class AspNetUserRoles : IdentityUserRole { [Key] public string ApplicationId { get; set; } [ForeignKey(“ApplicationId”)] public AspNetApplications AspNetApplications { get; set; } } 添加迁移后,我可以看到在AspNetUserRoles表中创建了外键列。 该表的屏幕截图如下 在这里,我有两个问题要问 为什么它创建了一个自动Discriminator列以及如何删除它,如果它有任何开销。 为了让我的授权和UserManager.GetRoles在执行此扩展之前工作,我需要做多少工作。

entity framework列表包含在lambda中

我想使用特定ID查询项目。 例如: var ids = new List { 1, 3, 5 }; var items = context.Items.Where(item => ids.Contains(item.ID)).ToList(); 问题: 这会使用SQL IN运算符生成单个查询吗? 这个代码在性能方面是否可以? 有没有更好的方法呢? 我正在使用Entity Framework 6和Microsoft SQL Server。

ToListAsync()根本没有完成

我想执行一些查询异步。 但是当我通过代码调试时,大多数情况下调用ToListAsync()时程序停止。 没有可见的exception,并且清除了callstack窗口。 当我按下VS中的暂停按钮时,我可以在调用当前方法之前看到堆栈帧。 var res1 = await context.Address().Where(…).ToListAsync(); var res2 = await context.Person().Where(…).ToListAsync(); var res3 = await context.Rule().Where(…).ToListAsync(); 有时第一次通话有效,在极少数情况下也是第二次通话。 但至少在第三次通话时程序停止了。 我完全不知道为什么……

使用include不会改变行为

有人可以帮我澄清之间的区别: var query = awlt.People.Include(p => p.EmailAddresses) .Where(p => p.LastName.Equals(lastName)) .SelectMany(a => a.EmailAddresses) .Select(a => a.EmailAddress1); var query = awlt.People .Where(p => p.LastName.Equals(lastName)) .SelectMany(a => a.EmailAddresses) .Select(a => a.EmailAddress1); 在两种情况下我都得到相同的结果而不知道差异。 Eager Loading是否需要使用Include ?

是否有必要在类库中部署XML文件?

我在VS 2012中开发了许多类库项目,用于Windows窗体和Web窗体应用程序。 问题很简单。 我是否需要将DLL文件本身与创建的XML文件一起部署? 例如,类库项目称为DataWare。 在构建时,我在Release文件夹中获得了5个文件(此项目参考entity framework): DataWare.dll DataWare.pdb DataWare.dll.config EntityFramework.dll EntityFramework.xml 我知道“.pdb”文件包含调试信息,因此无需部署。 不考虑“.config”文件。 相反,App.config或Web.config是。 对此,我认为我必须部署DataWare.dll和EntityFramework.dll。 但是,主要的疑问是我是否还需要部署EntityFramework.xml。 关心Jaime

如何在__MigrationHistory表中添加其他列?

根据自定义迁移历史记录表 ,我应该能够添加一列,但是我无法找到有关如何实际添加新列的任何示例。 我很担心放置实际属性的位置以及如何将其配置到现有的__MigrationHistory表。 从文档中,我可以自定义表配置。 protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity().ToTable(tableName: “MigrationHistory”, schemaName: “admin”); modelBuilder.Entity().Property(p => p.MigrationId).HasColumnName(“Migration_ID”); } …但我无法修改HistoryRow实体。 我应该根据HistoryRow实体添加新的派生类型吗?

entity framework6:代码优先级联删除

所以这里有几个类似的问题,但我仍然有问题确定我在简化场景中缺少的是什么。 假设我有以下表格,巧妙地以自己的名字命名: ‘JohnsParentTable’ (Id, Description) ‘JohnsChildTable’ (Id, JohnsParentTableId, Description) 结果类看起来像这样 public class JohnsParentTable { public int Id { get; set; } public string Description { get; set; } public virtual ICollection JohnsChildTable { get; set; } public JohnsParentTable() { JohnsChildTable = new List(); } } internal class JohnsParentTableConfiguration : EntityTypeConfiguration { public JohnsParentTableConfiguration() { ToTable(“dbo.JohnsParentTable”); […]

FindAsync和Include LINQ语句

我到目前为止的代码工作得很好 public async Task Details(Guid? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ItemDetailModel model = new ItemDetailModel(); model.Item = await db.Items.FindAsync(id); if (model.Item == null) { return HttpNotFound(); } return View(model); } 但是我想要包含1个表,不能使用FindAsync public async Task Details(Guid? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ItemDetailModel model = […]