有关ADO.NET实体框架的问题,.NET Framework的对象关系映射(ORM)工具。如果适用,请添加特定于版本的标记。不要将此标记用于Entity-Framework核心问题。请改用entity-framework-core。
我的程序从客户端获取这个查询: var productsQuery = context.Goods .选择((p)=> 新的 { 姓名 = p.姓名, Type = p.Type, BestBefore = p.BestBe ......
为什么我的 EF Core 查询返回的列表与 SQL Management studio 中的结果不匹配?
Nub 与 Ef 核心中的 SQL 查询斗争。 我有一个试图用 SQL 查询填充的 DBSet。我不知道查询是否重要,但这里是: 选择前 10 名 2 作为 docstorageid, d.身份证...
我有一个简单的 dbcontext,里面有三个集合。 当我使用 Windbg 调试它以查看活动对象时,我看到了一些 dbset。 所以,我的问题是为什么有些 dbset 在堆中? 这是我的代码: 公共场合...
ModelState.IsValid 在 ASP .NET Core 中总是返回 false
在我的案例中,我希望能够将图像上传到名为 Game 的实体。我将 ModelView 用于实体,但每次我尝试创建一个新对象时,我总是以我的 ModelState 为假而告终……
.Net 7 C# DI:在存储库的类构造函数中引用 AppDbContext(其中 AppDbContext 不可访问)
在我的解决方案中,我有 4 个项目。 App.Web => 一个 .net 7 MVC 项目 App.Api => 另一个 .net 7 Api 项目(都在同一个解决方案下) 应用程序域 App.Repository 目前(受制于...
我正在 WPF 应用程序中进行一些搜索优化。 有一个搜索 XAML 视图,它使用带有 IQueryable 的 SQL Server 视图。 在 SQL Server 中,我可以使用 OPTION(QUERYTRACEON 8649) 当我...
我在使用 Entity Framework 和 PostgreSQL 时遇到问题,有人知道如何连接两个表并将第二个表用作 where 子句吗? 我想在 Entity Framework 中做的选择……
关于eager loading、explicit loading和lazy loading的区别,我搜索了很多。 我想了解这三者的行为,以便能够决定何时使用每一个。 所以...
实体框架错误:操作失败:无法更改关系,因为一个或多个外键属性不可为空
我有一个名为 Transaction 的模型类(实体框架代码优先,如果重要的话)。该课程的一部分是: 私人名单_clients; 公开名单 客户 { 得到 { ...
我有三个类,它们应该将一个概念一对一地分成 3 个表。从字面上看,我想拼凑一张巨大的桌子。 类 MainHolder { 公共 Guid Id { 得到;放; } 酒吧...
是否有一个 EF Core 相当于来自 EF 的 ExecuteFunction?
在我们的 .NET Framework 解决方案中,我们正在运行存储过程(其返回类型未存储在数据库中),如下所示: ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<
我用 Entity Framework 6 配置了 Log4Net,内存慢慢爬起来了?
我创建了一个 CSV 文件拆分器,以便能够在处理之前操作文件。 我想从 Log4Net 中删除文件附加程序并将其放入数据库中,因为这是 作为服务安装...
使用 Visual Studio 时,我只运行 Add-Migration Name 然后运行 Update-Database 。 现在我正在尝试使用 Azure DevOps 自动化一些流程,我看到了这个问题并尝试适应但没有 su ...
我有一堆不同的实体框架集成测试。每个当然都以 EnsureDeleted()/EnsureCreated() 开头。这就是问题所在。 如果他们都使用相同的数据库,那么测试将...
我正在编写一个 Blazor(服务器端)应用程序,并得出结论,我希望对 CrUD 操作启用更改跟踪,对 cRud 操作关闭更改跟踪。 我应该创建两个 DbContext 类,一个是
Entity Framework 在一对一(可选/必需)关系中生成第二个左连接
我在 EF Code First 中有以下模型: 公开课A { 公共 int Id { 得到;放; } 公共虚拟 B { 得到;放; } } 公共B类 { 公共 int Id { 得到;放; } 公共诉...
我有一个使用 Entity Framework 的 C# 应用程序。我有一张看起来像这样的表: ID 文件 Col1 Col2 Col3 -------------------------------------- 1 19873 42...
如何告诉 Entity Framework 级联删除会起作用
Entity Framework 发现可能存在竞争级联删除。但是,在使用中这是不可能的。我需要知道如何告诉 Entity Framework。 这个应用程序是用来处理政治志愿者和
Entity Framework Core 什么时候级联删除?
我花了最后一个小时阅读了大量网页,我想我已经读懂了。但我想确定一下。这是我认为级联删除的规则。 许多:1 :: 删除帖子条目不会
Azure 多个 DbContext 在具有不同的连接字符串时最终在同一个数据库中
在本地一切正常我有 2 个上下文类导致 2 个数据库文件 本地一切正常我有 2 个上下文类导致 2 个数据库文件 <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-myTest-Identity.mdf;Initial Catalog=aspnet-myTest-Identity;Integrated Security=True" providerName="System.Data.SqlClient" /> <add name="AppContext" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DataDB.mdf;Initial Catalog=DataDB;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> 当我将其发布到 Azure 时,我需要在发布过程中提供 2 个连接字符串。 在 Azure 中,我还创建了 2 个不同的物理数据库。 发布后,VS2017对connectionstrings做了如下改动 <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=tcp:escapegamessqlserver.database.windows.net,1433;Initial Catalog=identitydb;User Id=mylogin;Password=mypassword;" providerName="System.Data.SqlClient" /> <add name="AppContext" connectionString="Data Source=tcp:escapegamessqlserver.database.windows.net,1433;Initial Catalog=Datadb;User Id=mylogin;Password=mypassword;" providerName="System.Data.SqlClient" /> <add name="AppContext_DatabasePublish" connectionString="Data Source=tcp:escapegamessqlserver.database.windows.net,1433;Initial Catalog=Datadb;User ID=mylogin;Password=mypassword" providerName="System.Data.SqlClient" /> </connectionStrings> 发布过程添加了 1 个 DatabasePublish 连接字符串,而不是我预期的 2 个。 问题 两个不同的上下文都在 1 个数据库中....数据库 Datadb 充满了迁移和所有表。虽然我期待在 identitydb 上进行与用户相关的迁移。 我没有看到两个上下文如何在同一个物理数据库中结束,同时具有 2 个不同的连接字符串,而在本地它就像一个魅力...... 补全,数据上下文如下 public class myAppContext : DbContext { public myAppContext() : base("AppContext") { } } 身份部分或多或少是开箱即用的 public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false) { } static ApplicationDbContext() { // Set the database initializer which is run once during application start // This seeds the database with admin user credentials to the admin role } public static ApplicationDbContext Create() { return new ApplicationDbContext(); } public System.Data.Entity.DbSet<virusescapebe.ViewModels.RoleViewModel> RoleViewModels { get; set; } } 根据你的描述,我这边查了这个问题。我通过 VS 发布向导发布了我的 Web 应用程序,并手动配置了 AppContext 和 DefaultConnection 的连接字符串,如下所示: 由于我选择了在运行时使用此连接字符串(更新目标 web.config),您可以利用 KUDU 或 Azure App Service Editor 查看修改后的 web.config 并检查连接字符串设置。您可以关注的详细信息了解 Azure 应用服务编辑器. 两个不同的上下文都在 1 个数据库中....数据库 Datadb 充满了迁移和所有表。虽然我期待在 identitydb 上进行与用户相关的迁移。 从您发布的 web.config,您创建了一个 SQL Server (escapegamessqlserver.database.windows.net) 并为您的 DefaultConnection 连接字符串创建了一个名为 identitydb 的 sql 数据库,为您的 AppContext 连接字符串创建了一个名为 Datadb 的 sql 数据库。虽然,我不知道AppContext_DatabasePublish从哪里来。但是根据您的myAppContext和ApplicationDbContext,连接字符串已指向相关的azure sql数据库,您的应用程序应该按预期工作。 此外,您可以在 Azure 门户的“设置 > 应用程序设置”下配置 DefaultConnection 和 AppContext 连接字符串,而不是为每个 DbContext 手动设置连接字符串。此时,您发布的 web.config 下的连接字符串不会被修改,应用服务将在运行时根据您在 Azure 门户上的配置覆盖连接字符串设置。有关更多详细信息,您可以按照在 Azure 应用服务中配置 Web 应用程序。 这就解决了。 我在 Azure 端的 web.config 中的设置被您可以在 Azure 门户中设置的连接字符串选项覆盖 应用服务 ->(应用名称)-> 应用程序设置 -> 连接字符串 有一个值被称为 defaultConnection 这个值覆盖了我在 web.config 文件中的设置