Entity framework core 如何与EF Core的最新夜间版本建立多对多关系?

如何使用Fluent API在EF7 EF Core中的两个表之间创建多对多关系?例如,假设您有以下表格: 如何利用DbContext类中的modelBuilder来定义这样的关系 我已经看到了EF团队会议记录中关于这个主题的链接,但这是去年的链接,我想知道在EF7 EF Core中是否有关于如何处理这个问题的新信息 我能够在照片和照片人物以及人物和照片人物之间建立一对多的关系。数据库是按我所希望的方式生成的,但是人和照片之间的导航现在需要与中间实体进行交互。我希望避免这种情况。这是由跟踪的。

Entity framework core EF 7迁移到现有数据库

我正在使用ASP.NET5和EF7进行一个web项目 我已将现有数据库中的所有表导入到项目中的模型中。但是,我在迁移方面遇到了问题 我已经创建了初始迁移,对特定实体进行了一些更改,在我所做的更改之后创建了另一个迁移,现在希望将更改应用于数据库 运行以下命令后: dnx ef数据库更新[迁移] dnx正在尝试对数据库中已存在的所有实体应用“初始”迁移,这会导致如下错误: {数据库中已存在名为['EntityName']的对象。} 您能否就如何在现有数据库上进行迁移提供建议 谢谢 Saeed在EF6

Entity framework core EF核心2.1浮点数转换问题

我在EntityFrameworkCore2.1中遇到了查询生成问题 我有一个问题 var q = KostenSchweissen.Where(k => k.Grenze >= ewd) .OrderBy(k => k.Grenze) .FirstOrDefault(); 其中KostenSchweissen.Grenze为整数,而ewd为浮点 因此,这将查找“Grenze”大于或等于传递的值的第一行。 这在以前运行良好(EF Core 1.x,不确定是否为2.0)

Entity framework core 带接口的Scaffold-EF核心实体

我正在使用从现有数据库创建实体和DBContext Scaffold-DbContext "Server=XXXXXX;Database=MyDB;User ID=xxxx;Password=xxxxxxx" Microsoft.EntityFrameworkCore.SqlServer -ContextDir .-OutputDir Entities -Force 这很有效。但是有没有办法用已知的接口构建所有的实体呢?所以我有接口IEntityBase,我希望所有实体都有这个接口 注 该问题

Entity framework core 实体框架核心操作无效。连接已关闭

我使用的是实体框架核心,当在存储过程中发布xml数据时,它会抛出错误。其他存储过程也在处理xml数据。但我发布的存储过程调用不起作用。 若我直接在sql server上将生成的xml数据执行到存储过程中,它就会工作。 它不仅仅与实体框架一起工作 我的数据库上下文 public class ApplicationContext : DbContext { public ApplicationContext(DbContextOptions<ApplicationContext>

Entity framework core 实体框架核心更新数据库与ING项目

我做了一个blazor项目,它连接到一个数据库,通过表单获取信息。我还为这个数据库添加了一个迁移。现在,我们的生产数据库每90天制作一次新表。我的问题是EF Core是否可以在代码中编写一些东西,用最新的Db更改更新我的解决方案并每天运行一次?我已经阅读了EF核心脚本,但找不到任何具体的例子。非常感谢您的建议。假设它是Blazor服务器应用程序,在您的程序.cs中,您可以在每次应用程序启动时(如果有新的迁移)迁移数据库,方法如下: var host = CreateHostBuilder(arg

Entity framework core 实体框架核心3.1.9实体映射引发InvalidOperationException

我在EF Core(3.1.9)中得到以下异常 System.InvalidOperationException:'无法在“用户”上配置密钥,因为它是派生类型。必须在根类型“Person”上配置密钥。如果您不打算将“Person”包含在模型中,请确保它未包含在您上下文中的DbSet属性中,未在对ModelBuilder的配置调用中引用,也未从模型中包含的类型的导航属性中引用。” 在这一行,我想映射实体的主键 我有下面的型号 public partial class EntityBase {

Entity framework core Identity Server 4中ClientScope和ClientClaims之间的差异

我正在尝试为我们的Identity Server 4实现设置一个配置界面,使用Entity Framework Core定制数据库。在客户端配置期间,存在类型为ClientClaims的Claims属性,以及类型为ClientScopes的AllowedScopes属性。客户机声明和客户机范围之间有什么区别?将客户机声明视为与客户机相关联的静态声明,这对于服务器到服务器样式的场景非常有用。“-leastprivilege于1月10日在Github上发表了评论 由于这一问题在github上得到了解

Entity framework core 实体框架核心-无延迟加载,当使用Include()时,它会深入

我的模型中有一个实体,它通过导航属性引用到其他对象,甚至还有一些集合导航属性 当我使用这样的标准查询时: DatabaseContext.Set<MyEntity>().ToListAsync(); DatabaseContext.Set().toListSync(); 然后只返回外键,所有导航属性都为空 然后我做了这样的东西 DatabaseContext.Set<MyEntity>() .Include(e => e.Chi

Entity framework core 在EntityFramework Core的同一事务中使用ExecuteSqlCommand和SavesChanges

我正在追踪MySql/EF Core的一个问题,我随机抛出一个异常,说不支持嵌套事务。当我的系统仅由一个用户使用时,不会发生此异常。但是当我并行运行测试或者当我有多个用户时,就会发生异常。我查看了所有代码,发现它们没有任何东西可以创建嵌套事务 到目前为止,唯一让我感到害怕的代码如下: using (var transaction = _context.Database.BeginTransaction()) { // Create a few entities and add them

Entity framework core 使用。包括标准

我有一个诗歌类,有一个诗歌翻译列表 当我取诗的时候,我只想要一些诗的译本。有没有办法做到这一点 var desiredTranslationCodes = new List<string> { "Code1", "Code2" }; var result = Context.Verses.Where(v => v.Chapter == 1 && v.VerseNumber == 3) .Include(v => v.Translations, t =

Entity framework core 环境足迹核心审计

我想使用efcore实现审计功能 我的意思是希望在DB表中记录每个事务/操作,例如创建、更新和删除 我在谷歌上搜索,找到了一些库和解决方案 有人能给我推荐EF核心审计的最佳实践吗 注意:我使用的是EF Core 2.X,审计的基本过程是覆盖DbContext上的SaveChanges()方法并插入一些逻辑。DbContext有一个ChangeTracker属性,可以非常轻松地访问before和after值。使用您提到的第一个库,您可以配置输出,将审核保存到另一个EF上下文、文件系统和更多内容

Entity framework core 首先使用EF代码创建数据库时出现无效的对象名称错误

您好,我正在首先使用EF Core code开发一个数据库。我在生成数据库时不断遇到此错误: Microsoft.EntityFrameworkCore.DbUpdateException:'发生错误 在更新条目时。有关详细信息,请参阅内部异常。” InnerException{“无效的对象名称‘父对象’”}系统.Exception{Microsoft.Data.SqlClient.SqlException} 从我所读到的内容来看,我似乎无法创建数据库,因为这些表以某种方式是多元的。 我一直

Entity framework core LINQ到对象-不能按对象分组

我将efcore 2.2升级到5,简单分组方式不起作用, 数据已在内存中,请查看: List<IGrouping<Categories, Businesses>> businessesByCategory = location.Businesses .GroupBy(x => x.Category.Parent ?? x.Category) .ToList(); 按类别列出业务= 地点、业务 .GroupB

Entity framework core 一个种子实体框架7数据库是如何实现的?

有没有合适的方法来为数据库种子 我似乎找不到任何文档来完成这项工作。现在,您必须手动进行种子设定(不过将来会有此功能) 您可以在Startup类的Configure方法中这样做(假设您使用的是ASP.NET 5): public class Startup { public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory logger) { using

Entity framework core Can';t创建迁移以向表中添加新列:列名无效

我正在尝试向现有表中添加列。它只是一个字符串列,不涉及任何类型的键,这是我试图进行的唯一更改。我正在使用powershell调用创建迁移 dotnet ef migrations add [migration name] --context [context name] 就像我以前做过很多次一样。我得到一个错误,上面写着 调用类“Program”上的方法“BuildWebHost”时出错。在没有应用程序服务提供商的情况下继续。错误:列名“[column id]”无效 无法创建“Dashboar

Entity framework core 映射到定制(动态生成但具有相同结构)表实体框架核心

我有dbcontext类 tblProp 在查询时,当我将1作为参数传递时,我希望它指向tblProp_1 是否可以通过ef core进行此类查询 dbcontext中有一个名为entity.toTabletblProp的类方法 是否可以使用该方法映射到我上面描述的内容?是的,如果这些数据库共享相同的模式,则可以这样做。您可以创建一个参数化构造函数,并在创建DB上下文时传递参数。如果不调用ModelCreating方法,则无法执行此操作。ModelCreating方法按DbContext类型调用

Entity framework core 如何首先使用EntityFramework Plus';审计功能?

我正在试着设置,但看起来我被困在了一个非常愚蠢的事情上。我遵循“通过覆盖SaveChanges&savechangessync自动保存”的路径,但我尝试先使用代码,因为我要使用它的项目已经像这样运行了一段时间了。话虽如此,我的DbContext看起来是这样的: public class CadastralDbContext : DbContext { public CadastralDbContext(DbContextOptions<CadastralDbContext>

Entity framework core 在实体和视图之间创建导航属性

我有下面的视图,它可以在数据库上获取SqlServer登录 将视图数据库登录创建为 选择sp.name作为名称, sp.type_desc as type, sp.create_date为CreatedAt, sp.将日期修改为已修改日期, 当sp.U禁用=1时,则为“禁用” 否则“已启用”结束为状态 从sys.server\u主体sp 左连接sys.sql\u登录sl 在sp.principal_id=sl.principal_id上 其中sp.type不在('G','R')中; 我有一个名

Entity framework core INSERT语句与外键约束“冲突”;FK“用户”机构“用户ID”;

我使用实体框架core 5.0,并与fluent api建立了一对多关系。 当我试图在我的项目中创建一个新用户时,我遇到了这个错误。 让我向我的用户班级展示你: public class User : Base { [Key] public int UserID { get; set; } public string UserName { get; set; } public string UserSurname {

Entity framework core 获取EF核心中的元数据:表和列映射

希望在EF Core中获取元数据,处理对象和属性到数据库表和列的映射 这些映射是在DBContext.cs OnModelCreating()方法中定义的,映射表为.ToTable(),列为.Property.HasColumnName() 但我在返回的实体类型下没有看到此元数据 IEnumerable<IEntityType> entityTypes = [dbContext].Model.GetEntityTypes(); IEnumerable entityTypes=[db

Entity framework core SqlRaw中的EFCore 3.1不工作,并抛出一条奇怪的错误消息

我对EF Core 3.1有一个最奇怪的问题。在EFCore2.2中,我曾经能够执行存储过程。我看到文档中有一个突破性的变化,但是,我完全遵循文档,它不起作用。返回的数据中没有空值。NoticeOfInspection对象与返回的数据完全匹配。他们到底改变了什么,以至于这不起作用 var data = _dbContext.NoticeOfInspections.FromSqlRaw("EXEC dbo.NewReportApp_NoticeOfInspection {0}", Facility

Entity framework core 在实体框架代码优先方法中创建外键的问题

我有三种型号。类别模型、子类别模型和产品模型 SubCategoryModel具有来自CategoryModel的外键引用,ProductModel具有来自CategoryModel和SubCategoryModel的外键引用 在addmigration命令之后更新数据库时,出现以下错误: 在表“ProductMst”上引入外键约束“FK_ProductMst_Subcategory MST_Subcategory ID”可能会导致循环或多个级联路径。指定“在删除时不执行操作”或“在更新时不执行

Entity framework core 通过DI使用实体框架DbContext的存储库是否应该实现IDisposable?

我已经看到了EF7人员在构造函数中注入datacontext的例子 然而,由于DbContext实现了IDisposable,我担心我的存储库也必须实现IDisposable,并通过代码传播 我看到的示例没有实现IDisposable,但我不知道为什么 编辑 澄清 以前我是以通常的方式使用db上下文的 using(var db = new SomeContext()) { return await from row in db.Table select row).ToLi

Entity framework core 不存在实体的FromSql

我有一个非常大的现有数据库,有许多视图和表。我需要合并一些视图和表的结果。我希望这个组合数据在DbContext中可用,但是没有一个对应的视图或表可以用来将实体映射到我想要的SQL结果 为此,我在上下文中设置了一个DbQuery,并使用OnModelCreating方法设置查询结果,下面是一个示例 以下是实体对象模型。在本例中,Author和Book是表,AuthorBookCount是自定义SQL查询的对象模型,该查询没有要映射到的对应视图或表 公共类作者 { [列(“ID”)] 公共int

Entity framework core 如何单次查询包含关联收款实体的关联参照实体

我有以下模式供会员撰写电影评论- 公共类电影 { 公共int Id{get;set;} 公共字符串标题{get;set;} 公共列表审核{get;set;} } 公开课复习 { 公共int Id{get;set;} 公共字符串体{get;set;} 公共电影{get;set;} 公共成员成员{get;set;} } 公共班级成员 { 公共int Id{get;set;} 公共字符串名称{get;set;} 公共列表审核{get;set;} } 我想查询电影,以便每部电影都包含所有相关评论,而每

Entity framework core 无法登录-用户登录失败';用户名';

我正在将我的ASP.NET Framework应用程序迁移到ASP.NET核心 我在连接生产数据库时遇到问题 我的本地SQLite数据库工作正常 当我尝试连接到远程SQLExpress数据库时,问题就出现了 错误消息是 用户“username”登录失败 第一件最明显的事情是,用户名或密码有错误,但我正在从web.config文件复制连接字符串,并将其粘贴到appsettings.json文件中 当我尝试使用.NET Framework版本连接到数据库时,它连接良好 如果我通过SSMS连接并使用S

Entity framework core 如何在DbContext中包含新类型并为其创建表?

我试图弄清楚在实体框架核心中是否有可能在运行时创建一个新类型,并将其包含在DBContext中,然后在db中创建一个表。到目前为止,我仅在使用以下命令时才能创建表: entitiesContext.Database.EnsurureDeleted(); entitiesContext.Database.Recreated() 就模型而言,Add或Attach方法起到了一半的作用,因为在我调用SaveChanges()的那一刻,应用程序中断,错误是对象不在数据库中 我还检查了迁移,但很多人不建议在

Entity framework core 如何删除EF核心代码优先约定PK

my(EF Core 3.1)模型中的许多实体都源自相同的基本类型(HistorizedBaseEntity),因此应该具有相同的主键: {int-ID,Guid-InstanceGuid,Instant-Time} 我没有按实体类型重新定义,而是编写了一些代码来自动处理此问题: protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder);

Entity framework core 我可以在Visual Studio 2019的标准.NetFramework解决方案中使用Microsoft.EntityFrameworkCore吗?

Microsoft EntityFrameworkCore是否与标准.Net Framework应用程序配合使用? 我读了几篇帖子,上面说有可能。 但是,当尝试通过NuGet Package Manager安装时,我收到以下错误消息: 无法安装包“Microsoft.EntityFrameworkCore.Design” 5.0.0". 您正试图将此软件包安装到以“.NetFramework,Version=v4.7.2”为目标的项目中,但该软件包未安装 包含任何兼容的程序集引用或内容文件 有了

Entity framework core 实体框架核心-三层关系

我必须应用一组与包含消息传递系统的系统的关系 我有两个域对象和一个映射对象(对于多对多关系): 公共类用户 { 公共用户() { UserMails=新列表(); } 公共int Id{get;set;} 公共ICollection用户邮件{get;set;} } 公营邮件 { 公共邮件() { UserMails=新列表(); } 公共int Id{get;set;} 公共字符串标题{get;set;} 公共字符串体{get;set;} 公共ICollection用户邮件{get;set;}

Entity framework core 使用Fluent API在两个表之间创建一对一的关系';备用键

我正在尝试连接两个数据库中的两个表,其中的表具有自动递增、主键和字符串、备用键。已填充每个系统表中的备用键,以允许比较(合并)数据 我有两门课: 单位(系统A) 车辆(系统B) 我想在Unit.UnitNumber=Vehicle.VehicleID之间创建一对一关系 我试图定义此关系,但未成功: modelBuilder.Entity<Vehicle>() .HasAlternateKey("VehicleID"); modelBuilder.Enti

Entity framework core EF核心包括孙辈一般存储

我正在使用一个通用存储库来处理EF Core上的急切加载,在这种情况下,我可以加载分类营养素,但如果我尝试加载Nutriente categoriaService.FindBy((i => i.CategoriaNutrientes.Select(x=>x.Nutriente))) 我有一个错误: System.InvalidOperationException:'属性表达式'i=>{from [i]中的多个孩子x。多个孩子选择[x]。孙子}' 无效。表达式应表示属性访问:“t=>

Entity framework core 首先使用InMemory数据库和EntityFramework核心代码测试视图

我有一个EF核心代码第一个web api应用程序 有一个Products实体和一个UserProductsRating子实体(具有一对多关系) 我还希望有一个平均的评论分数(并且能够根据它进行选择/排序),所以创建了一个视图来实现这一点(使用这个答案中描述的方法) [) 因此,我的视图的迁移如下所示: protected override void Up(MigrationBuilder migrationBuilder) { str

Entity framework core EF Core Diagnostics-每个上下文实例的查询计数

我试图通过检查每个上下文实例的查询数量来检测EF。我们通常不希望对一个上下文进行超过10个左右的查询,所以我想用它来检查上下文是否被误用,例如在循环中进行查询调用,这会导致明显的性能问题 我基本上想说,如果针对任何给定上下文的查询数>X,那么记录一个错误,甚至抛出一个异常 我能找到的最接近的东西是使用事件id:RelationalEventId.CommandExecuted.Name,但是事件数据中没有上下文引用,因此无法在每个上下文的基础上跟踪它。事件计数器也不是真正可行的解决方案,因为它们

Entity framework core 实体框架核心代码第一个多个DbContext共享实体作为外键

我有两个DbContext,第一个是IdentityServer4 context,第二个是AspNet.Identity DbContext。现在我想配置IdentityUser(来自AspNet.Identity DbContext)和Clinet(来自IdentityServer4 context)之间的多对多关系。我在AspNet.Identity DbContext中创建了一个join类,它包含: public class UserClient { public

  1    2   3   4   5   6  ... 下一页 最后一页 共 16 页