问题标签 [entity-framework-6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework - Mono 3.0.3 上带有 EF6 的 NullReferenceException
我正在尝试将现有的实体框架项目迁移到 Mono 并发现了一个奇怪的错误:当请求被执行并且 EF 加载模型模式时,它会在 Mono 下抛出,尽管在 .Net 下使用 EF6 Alpha 2 它可以工作。以下是一个例外:
我猜它无法加载元数据或类似的东西,至少当 XmlDocument 和 XmlSchema 不检查输入流是否为空时,最重要的行看起来就像 XmlDocument 和 XmlSchema 的已知行为。我尝试使用元数据文件而不是嵌入式资源,但没有帮助。
我会尝试挖掘资源,但如果有人已经知道发生了什么,那将非常有帮助。
c# - 使用委托属性持久化对象
我正在尝试使用委托属性持久化一个对象
但是我收到此错误:
(12,10):错误 3004:从第 6、12、21 行开始映射片段时出现问题:没有为 Set ScheduledTasks 中的属性 ScheduledTask.callback 指定映射。在以下情况下,具有密钥 (PK) 的实体将不会往返:实体类型为 [Frontline.Core.Scheduling.ScheduledTask]
加载上下文时。
如何使用实体框架将对象与委托持久化?
c# - 找不到 System.Data.Entity.SqlServer.SqlProviderServices、EntityFramework.SqlServer
我正在从 SqlConnection 构建 DbContext。当我使用它时,我收到以下错误:
'System.Data.SqlClient' ADO.NET 提供程序的实体框架提供程序类型 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'加载。
我正在使用 6.0.0-alpha2-11210。
我发现这很奇怪,因为我有一个对 Entity.SqlServer 的引用,并且我设法通过在查询之前放置以下代码行来“修复它”:
这是alpha版本的错误吗?
entity-framework - 实体框架 6. 模式名称
我想为我的实体分配架构名称,而不指定表名。现在,我只能做:modelBuilder.Entity<T>().ToTable("MyEntities", "myschema");
有没有办法做类似的事情:modelBuilder.Entity<T>().ToTable("myschema")
?请考虑到我不能使用 PluralizationService 并手动计算表名,因为 PluralizationService 成为内部...
deployment - ASP.NET MVC 4 + Entity Framework 6 + SQL Compact Edition 4.0 部署无需安装
我试图在安装了 iis 的 Windows 7 的全新安装上部署一个基本的 MVC 4 应用程序,该应用程序使用 Entity Framework 6(代码优先)和 SQL Compact 4.0(未安装 mvc 4 和 sql compact 4.0)。
我在 db 项目上安装了以下 nuget 包:
- EntityFramework(版本 6.0.0-alpha2)
- EntityFramework.SqlServerCompact(版本 6.0.0-alpha2)
- Microsoft.AspNet.Providers(1.2 版)
- Microsoft.AspNet.Providers.Core(1.2 版)
- Microsoft.SqlServer.Compact(版本 4.0.8876.1)
在 web.config 我得到以下配置:
bin 文件夹(sql ce 文件在 amd64 和 x86 文件夹中:
- [amd64]
- [x86]
- Antlr3.Runtime.dll
- DotNetOpenAuth.AspNet.dll
- DotNetOpenAuth.Core.dll
- DotNetOpenAuth.OAuth.Consumer.dll
- DotNetOpenAuth.OAuth.dll
- DotNetOpenAuth.OpenId.dll
- DotNetOpenAuth.OpenId.RelyingParty.dll
- 实体框架.dll
- EntityFramework.SqlServer.dll
- EntityFramework.SqlServer.xml
- EntityFramework.SqlServerCompact.dll
- EntityFramework.SqlServerCompact.xml
- 实体框架.xml
- Microsoft.Web.Infrastructure.dll
- Microsoft.Web.WebPages.OAuth.dll
- Newtonsoft.Json.dll
- ShipMedProto.DB.dll
- ShipMedProto.DB.pdb
- ShipMedProto.Web.dll
- ShipMedProto.Web.pdb
- System.ComponentModel.DataAnnotations.dll
- System.Data.DataSetExtensions.dll
- System.Data.SqlServerCe.dll
- System.Data.SqlServerCe.Entity.dll
- System.Net.Http.Formatting.dll
- System.Web.Helpers.dll
- System.Web.Http.dll
- System.Web.Http.WebHost.dll
- System.Web.Mvc.dll
- System.Web.Optimization.dll
- System.Web.Providers.dll
- System.Web.Razor.dll
- System.Web.WebPages.Deployment.dll
- System.Web.WebPages.dll
- System.Web.WebPages.Razor.dll
- WebActivatorEx.dll
- WebGrease.dll
- WebMatrix.Data.dll
- WebMatrix.WebData.dll
当我部署到干净的机器时,我收到以下错误消息:
找不到请求的 .Net Framework 数据提供程序。它可能没有安装。
在我的开发机器上它工作正常。(我安装了 sql ce)
任何线索我做错了什么?
c# - 如何从 ChangeTracker 获取原始实体
有没有办法从ChangeTracker
(而不仅仅是原始值)获取原始实体本身?
如果State
是Modified
,那么我想我可以这样做:
但这似乎不太好,而且我确定它存在我不知道的问题......有没有更好的方法?
我正在使用实体框架 6。
entity-framework - EF6 alpha 异步等待实体存储过程/函数导入?
我想将新的异步等待功能应用于在我的实体模型中导入的存储过程/函数导入,但目前还无法使用 EF6 alpha。
是否有可能在 EF6 alpha2(或 20211 年的夜间构建)中调用返回复杂类型集合的实体函数导入(调用 SQL 存储过程)上的任何新异步方法?例如
“ToListAsync”,或任何新的异步修改方法似乎不适用于上述实体存储过程/函数导入;只有标准的“ToList”或“AsNumerable”等方法可用。
我按照这个(http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6)确保代码引用新的 EF6 dll 而不是 EF5,并更新了各种使用陈述。除了上面,一切都正确构建。(.NET 框架 4.5)
我唯一能看到异步方法的情况是,我不仅从数据库中导入存储过程,还导入了一个表——然后当通过上面的实体上下文 (context.SomeTable) 引用该表时,一些异步方法出现在智能感知中。
在以 JSON 格式返回数据之前,我真的很想在多个存储过程上开始使用新的异步等待功能,但到目前为止还不能让它工作。
难道我做错了什么?实体存储过程/函数导入是否无法实现异步功能?谢谢你的建议。
ef-code-first - 带有代码迁移的双表
我有一个大数据库,它由两部分组成:后台和前端部分。后台部分永远不会因项目而改变,因此他们有自己的业务和数据组件。
数据层有它自己的代码迁移,它自己DbContext
称为BackofficeContext
. 架构是Backoffice
前端具有相同的结构,也有自己的数据层、自己的代码迁移和DbContext
调用的FrontendContext
. 这有不同的架构Frontend
。
在数据库中,我将看到 Backoffice 和 Frontend 相关表的清晰分离,这正是我想要的。
只有一个问题。中的一个表FrontendContext
包含一个字段BackofficeContext
:
用户表在 中BackofficeContext
,UserChoises
表在 中FrontendContext
。
当我为 运行代码迁移时,BackofficeContext
它将为Users
. 当我为它运行代码迁移时,FrontendContext
它会创建UserChoises
表,但也会再次创建Users
表。
我可以从迁移文件中手动删除此表,但每次进行新迁移时它都会返回。
有没有办法让人们FrontendContext
意识到BackofficeContext
?
entity-framework - EntityFramework 6.0.0-alpha3 - EdmxWriter.WriteEdmx() fails after update to alpha3 from alpha2
The following extension works for EF6 alpha2 but stopped working with alpha3 with null reference exception. The failing statement is the EdmxWriter.WriteEdmx(..)
The views pre-generation is performed on a code-first context.
How to achieve pre-generate views using EF6 alpha3?
The stacktrace is the following:
NullReferenceException
- at: System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.VisitEdmAssociationSet(AssociationSet item)
- at: System.Data.Entity.Edm.EdmModelVisitor.VisitCollection[T](IEnumerable
1 collection, Action
1 visitMethod) - at: System.Data.Entity.Edm.EdmModelVisitor.VisitAssociationSets(EntityContainer container, IEnumerable`1 associationSets)
- at: System.Data.Entity.Edm.EdmModelVisitor.VisitEdmEntityContainer(EntityContainer item)
- at: System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.VisitEdmEntityContainer(EntityContainer item)
- at: System.Data.Entity.Edm.EdmModelVisitor.VisitCollection[T](IEnumerable
1 collection, Action
1 visitMethod) - at: System.Data.Entity.Edm.EdmModelVisitor.VisitEntityContainers(IEnumerable`1 entityContainers)
- at: System.Data.Entity.Edm.EdmModelVisitor.VisitEdmModel(EdmModel item)
- at: System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.Visit(EdmModel edmModel, String namespaceName, String provider, String providerManifestToken)
- at: System.Data.Entity.Edm.Serialization.EdmSerializationVisitor.Visit(EdmModel edmModel, String provider, String providerManifestToken)
- at: System.Data.Entity.Edm.Serialization.SsdlSerializer.Serialize(EdmModel dbDatabase, String provider, String providerManifestToken, XmlWriter xmlWriter, Boolean serializeDefaultNullability)
- at: System.Data.Entity.ModelConfiguration.Edm.Serialization.EdmxSerializer.WriteEdmxRuntime()
- at: System.Data.Entity.ModelConfiguration.Edm.Serialization.EdmxSerializer.Serialize(DbDatabaseMapping databaseMapping, DbProviderInfo providerInfo, XmlWriter xmlWriter)
- at: System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbModel model, XmlWriter writer)
- at: System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContext context, XmlWriter writer)
- at: **.DbContextPreGenerateViewExtension.GetEdmx(DbContext dbContext)
Thanks!
entity-framework - 使用 EF 6 alpha3 Code First 和迁移创建 __MigrationHistory 表部署到 SQL Azure 时出错
我首先使用 EF 6 alpha 3 代码。当我尝试在运行 Update-Database 命令的 SQL Azure 上创建数据库时,出现以下错误:
此版本的 SQL Server 不支持没有聚集索引的表。请创建聚集索引并重试。
我将错误追踪到 __MigrationHistory 表创建 sql 命令。
任何人都知道如何解决这个问题?
谢谢,