问题标签 [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 - 如何使用实体框架向数据库服务器询问当前日期时间?
我有一个带有 ModifiedDateTime 属性的实体,我想用数据库中的当前日期时间而不是执行应用程序的“应用程序”服务器来更新它。
每次我想在 SQL Server 2008 上更新或添加一个人到我的数据库时,我都想填写 ModifiedDateTime 文件。当我使用数据集并将我的 ModifiedDateTime 文件定义为 GetDate() 时,我不能像使用数据适配器命令一样更改更新查询。我创建了存储函数来返回 GetDate() 方法的值,但是我在导入过程时遇到问题,该过程返回值作为 int、string 或根本没有值,在我的例子中已经只是实体值作为 Person。这是为什么?
无论如何,如果您能帮助我从数据库服务器中检索当前的 DateTime,那将是非常有帮助的。
entity-framework - 检查是否有任何待保存的更改要保存
有没有办法在实体框架中找出我的实体上下文中是否有未保存的更改?
entity-framework - 使用 EF 4.1 Fluent Code First 的按类型继承表
我有一组非常简单的数据库表,例如:
我的类模型如你所料:Vehicle 是一个抽象类,然后 Car 和 Bike 是它的子类。
我已经设置了我的 EF4.1 Code First 配置,如下所示:
但是,当 EF 尝试构建其模型配置时,我遇到了许多奇怪的异常。
目前它正在抛出这个:
它从哪里获得该列名?它不在我的任何代码或数据库本身中。一定是某种惯例接管了控制权。如何指示 EF 使用每个类型的表?
如果我从 Vehicle 类中删除“abstract”关键字(我在某处进行了健全性测试),那么我会得到一个不同的异常,如下所示:
我显然做错了什么,但是什么?我已经关注了 MSDN 文档和我能找到的所有其他 TPT + EF4.1 文章!
entity-framework - EF 代码优先:如何加载相关数据(父子孙子)?
我有这个实体:
该实体可能有 3 个级别:父级 -> 子级 -> 孙子级。如何加载父级(级别 1)和所有关联的子级(级别 2)以及每个子级、关联的孙子级(级别 3)(如果有)?感谢帮助。
wpf - EF 6 中的异步等待问题
我正在尝试使用实体框架 6(代码优先)+ WPF 进行异步等待编程,但我不明白为什么在我使代码异步后 UI 仍然冻结。这是我从第一行开始做的事情:
首先有一个响应点击按钮的事件处理程序:
然后我的服务层中有 Authenticate 方法:
最后是上下文中的 EF 代码:
更新:经过一些跟踪,UI冻结的原因原来是初始化过程。UI 线程阻塞,直到 EF 上下文被初始化,一旦完成,实际的查询/保存过程就会异步执行。
在单击处理程序开始处调用 Task.Yield() 后更新调试输出:
c# - 实体框架存储库和异步调用
我有一个使用 EF 访问数据库的存储库。此存储库用于我的主要应用程序。
我的问题是,以异步方式调用我的存储库的方法是否是个好主意,或者更好的是正常调用。
如果异步方式是个好主意。将异步调用到我的存储库方法是个好主意,还是有任何其他方式以异步方式使用 EF?
谢谢。戴姆洛克。
entity-framework - Entity Framework 6 Code First 迁移的 ContextKey
现在我使用的是 EF6 Alpha,当使用迁移时,它会在 __MigrationHistory 表中添加一个新的迁移日志。
在 EF6 中,__MigrationHistory 表有一个名为“ContextKey”的新列。经过测试,我发现有两个默认的“ContextKey”值:
DbContext 的派生类的全名。当我运行代码时会发生这种情况:
/li>DbMigrationsConfiguration 的派生类的全名。当我运行代码时会发生这种情况:
/li>
我第一次运行应用程序时,“Database.CreateIfNotExists();” 为我创建一个新数据库,以及映射到 ArticleDbContext 中定义的模型的所有表,然后添加一个 __MigrationHistory 行,其中 ContextKey 的值为“Module.Article.Model.ArticleDbContext”。
然后是“Database.SetInitializer(new MigrateDatabaseToLatestVersion());” 将运行,此代码将生成一个新的 ContextKey“PowerEasy.Module.Article.Migrations.ArticleConfiguration”。迁移用这个 ContextKey 查询 __MigrationHistory 表,发现没有数据。所以它会再次创建映射到ArticleDbContext中定义的模型的所有表,但是这些表已经存在于数据库中,所以会抛出异常,并告诉我“表XXX已经存在”。
我该如何解决这个问题?
entity-framework - 更新到 EF 6.0.0-alpha 后无法使用 EF 迁移更新数据库
将我的实体框架更新到版本 6.0.0-alpha1 后,我无法更新数据库。这是我得到的错误:
这是什么原因?我查询了 sysobjects 表中的 'PK_dbo.__MigrationHistory',但它不存在。任何的想法?
提前致谢。
entity-framework - EF 6(代码优先)是否能够使用与当前数据库用户关联的默认架构?
很高兴知道 EF 6 支持 HasDefaultSchema 方法,因此我可以设置 EF 可以使用的架构。但是,我想知道是否可以让 EF 在生成 SQL 语句时消除架构前缀(例如,生成 "select * from TableA" 而不是 "select * from dbo.TableA" ),以便数据库引擎将使用默认架构关联到当前数据库用户。
我有几个数据库用户,他们每个人都有一个独特的模式分别设置为他们的默认模式。我想我可以分别使用他们特定的用户名、密码和相同的 SQL 语句“SELECT * FROM TableA”来获取每个用户的正确数据。
谢谢。
entity-framework - 具有 Entity Framework 6 Alpha 2 的现有 Azure 数据库
我有一个需要聚集索引的天蓝色数据库。我想使用 Entity-Framework 6 Alpha 2,因为我想使用新的异步功能。当我使用 SQL Express 2012 在本地机器上测试它时,一切都很好,但是当我使用我的 azure 数据库尝试它时,我收到以下错误:
此版本的 SQL Server 不支持没有聚集索引的表。请创建聚集索引并重试。
我不知道该怎么做,因为当我使用空数据库对其进行测试时,每个主键都是聚集索引。
有任何想法吗?