Tag: entity framework core

entity framework核心 – 将小数精度和比例设置为所有小数属性

我想将所有十进制属性的精度设置为(18,6)。 在EF6中,这非常简单: modelBuilder.Properties().Configure(x => x.HasPrecision(18, 6)); 但我似乎无法在EF Core中找到类似的东西。 删除级联删除约定并不像在EF6中那么简单,因此我找到了以下解决方法: EF6: modelBuilder.Conventions.Remove(); modelBuilder.Conventions.Remove(); EF核心: foreach (var relationship in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys())) relationship.DeleteBehavior = DeleteBehavior.Restrict; 在我读完之后,我尝试了类似的方法: foreach (var entityType in modelBuilder.Model.GetEntityTypes() .SelectMany(x => x.GetProperties()) .Where(x => x.ClrType == typeof(decimal))) { // what to do here? } 我想如果我在正确的轨道上以及如何继续,或者如果没有,我应该开始在所有decimal属性上放置数据注释。

EF Core实现了Table-Per-Concrete-Type,具有抽象基类的流畅映射

假设您有两个派生自抽象基类的实体,并且您希望实现Table-Per-Concrete-Type。 以下实体: public abstract class EntityBase { public int Id { get; set; } public string CreatedBy { get; set; } public DateTime CreatedAt { get; set; } } public class Person : EntityBase { public string Name { get; set; } } public class PersonStatus : EntityBase { public string Title { get; set; […]

entity framework7逆向工程ASP.NET 5

我一直在尝试使用EF7 _4将我的数据库迁移到Web应用程序模型中。 我意识到的几件事情已经改变了如何配置特定实体的语法/方法。 通常,您可以使用EF Power Tools(EF6)生成POCO类,它生成实体类型和实体映射作为配置。 一切都干净,一切正常。 我的问题是, 是否有人体验过如何使用EF7? 从我在这里找到的有关Entity Framework 7 Beta 4的msdn博客 逆向工程的function仍处于开发阶段。 “ 从数据库逆向工程模型的早期预览 ”。

如何使用UserManager在IdentityUser上加载导航属性

我已经扩展了IdentityUser以包含用户地址的导航属性,但是当使用UserManager.FindByEmailAsync获取用户时,不会填充导航属性。 ASP.NET Identity Core是否有某种方法可以填充Entity Framework的Include()等导航属性,还是必须手动执行? 我已经设置了这样的导航属性: public class MyUser : IdentityUser { public int? AddressId { get; set; } [ForeignKey(nameof(AddressId))] public virtual Address Address { get; set; } } public class Address { [Key] public int Id { get; set; } public string Street { get; set; } public string Town { get; set; } […]

如何在EF核心2.1中使用FreeText

我看到Entity Framework核心2.1有一个使用FREETEXT的新function,但我不知道如何使用它,因为没有我可以在网上找到的例子。 https://github.com/aspnet/EntityFrameworkCore/issues/11484 有人用过它还能给我一个简单的例子吗?

使用配置调用AddDbContext,但上下文类型“MyContext”仅声明无参数构造函数?

在以下控制台应用程序(.Net core 2.0)中, scaffold-dbcontext创建了以下DbContext public partial class MyContext : DbContext { public virtual DbSet Tables { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer(Program.Conn); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { …. } } 在Main()( static void Main(string[] args) )中,代码如下 var services = new ServiceCollection(); var conn = configuration.GetConnectionString(“MySource”); […]

使用Entity Framework Core自动增加部分主键

我使用EF Core fluent API声明了以下模型: modelBuilder.Entity() .HasKey(p => new { p.Name, p.Id }); 当我在PostgreSQL中创建数据库时,这两个字段都被标记为主键,但Id字段未标记为自动增量。 我也尝试过添加 [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 到Foo下的Id字段,没有它对迁移代码产生任何影响。 有没有办法制作Id AI虽然它是PPK?

ASP.NET 5 MVC 6通用存储库模式

一直在寻找教程或其他什么的地方。 我一直在尝试将MVC5的旧通用存储库模式实现到一个新的MVC6项目中。 我设置了3个类库.Core , .Data和.Service ,但是IDBset存在问题,似乎我的intellisense不喜欢它,我试图添加System.Data和Entity框架6但没有任何运气(无法找到它) …混乱)。 漫游google之后我决定在这里问一下,有没有正确方法的教程,还是有人会抛出一个非常简单的MVC6 Generic Repository模式? 我有一种感觉,Old的做法可能已经改变,似乎无法找到除内置DI之外的任何信息。 代码:我的IDbContext接口 IDbSet Set() where TEntity : BaseEntity; 没有看到IDbSet ,这仅仅是因为Entity Framework? 我确实有它的参考。 问题可能是我无法找到entity framework的使用陈述。 更新: 使用Entity framework 8.0.0 beta。 将所有IDbset引用更改为DbSet。 但是在我的通用存储库中,我使用的方法如下: public virtual T GetById(object id) { return this.Entities.Find(id); } “查找”不是一种方法。 我不能再在我的捕获中使用“DbEntityValidationException”。

更新EFCore连接的通用方法

我发现EFCore处理多对多关系的方式非常乏味的一件事是更新实体连接集合。 经常要求视图模型来自前端,新的嵌套实体列表,我必须为每个嵌套实体编写一个方法,找出需要删除的内容,需要添加的内容然后执行删除和添加。 有时一个实体有多个多对多关系,我必须为每个集合写出几乎相同的代码。 我认为这里可以使用通用方法来阻止我重复自己,但我正在努力弄清楚如何。 首先让我告诉你我目前的做法。 让我们说我们有这些模型: public class Person { public int Id { get; set; } public string Name { get; set; } public virtual ICollection PersonCars { get; set; } = new List(); } public class Car { public int Id { get; set; } public string Manufacturer { get; set; } public […]

如何为实际使用我的数据库上下文的ASP.NET核心控制器编写unit testing?

似乎没有关于如何为实际的 ASP.NET核心控制器操作编写好的unit testing的信息。 有关如何使这项工作真实的任何指导?