草庐IT

c# - EF 代码优先 : Should I initialize navigation properties?

我看过一些书(例如programmingentityframeworkcodefirstJuliaLerman)定义了它们的域类(POCO),但没有初始化导航属性,例如:publicclassUser{publicintId{get;set;}publicstringUserName{get;set;}publicvirtualICollectionAddress{get;set;}publicvirtualLicenseLicense{get;set;}}一些其他书籍或工具(例如EntityFrameworkPowerTools)在生成POCO时会初始化类的导航属性,例如:publi

c# - EF 代码优先 : Should I initialize navigation properties?

我看过一些书(例如programmingentityframeworkcodefirstJuliaLerman)定义了它们的域类(POCO),但没有初始化导航属性,例如:publicclassUser{publicintId{get;set;}publicstringUserName{get;set;}publicvirtualICollectionAddress{get;set;}publicvirtualLicenseLicense{get;set;}}一些其他书籍或工具(例如EntityFrameworkPowerTools)在生成POCO时会初始化类的导航属性,例如:publi

c# - 在 Visual Studio 中添加新数据项时 EF 6.x DbContext 生成器选项的用途

我有一个使用LINQtoSQL构建的Web应用程序,我希望将其升级到LINQtoEntityFramework。我看过一些教程,了解到基本上在数据库优先的情况下,您创建了一个ADO.NET实体数据模型。从那里,您可以选择要包含在模型中的表(非常类似于LINQtoSQL)。在AddNewItem对话框中,我看到还有另一个创建EF6.xDbContextGenerator的选项:与ADO.NET实体数据模型(对话框中的第一个选项)相比,EF6.xDbContextGenerator的目的是什么?还有,EF6.xDbContextGenerator有什么用?它似乎创建了一个文本文件。我应该用

c# - 在 Visual Studio 中添加新数据项时 EF 6.x DbContext 生成器选项的用途

我有一个使用LINQtoSQL构建的Web应用程序,我希望将其升级到LINQtoEntityFramework。我看过一些教程,了解到基本上在数据库优先的情况下,您创建了一个ADO.NET实体数据模型。从那里,您可以选择要包含在模型中的表(非常类似于LINQtoSQL)。在AddNewItem对话框中,我看到还有另一个创建EF6.xDbContextGenerator的选项:与ADO.NET实体数据模型(对话框中的第一个选项)相比,EF6.xDbContextGenerator的目的是什么?还有,EF6.xDbContextGenerator有什么用?它似乎创建了一个文本文件。我应该用

c# - 如何删除 EF 代码优先数据库中的子一对多相关记录?

好吧,我有一对多相关模型:publicclassParent{publicintId{get;set;}publicstringName{get;set;}publicICollectionChildren{get;set;}}publicclassChild{publicintId{get;set;}publicstringChildName{get;set;}}我想做的是清除Parent.Children并从数据库中删除相关的子实体。我已经尝试过:数据库上下文类:modelBuilder.Entity().HasMany(p=>p.Children).WithOptional().

c# - 如何删除 EF 代码优先数据库中的子一对多相关记录?

好吧,我有一对多相关模型:publicclassParent{publicintId{get;set;}publicstringName{get;set;}publicICollectionChildren{get;set;}}publicclassChild{publicintId{get;set;}publicstringChildName{get;set;}}我想做的是清除Parent.Children并从数据库中删除相关的子实体。我已经尝试过:数据库上下文类:modelBuilder.Entity().HasMany(p=>p.Children).WithOptional().

c# - EF 代码优先 : How to get random rows

如何构建一个查询来检索随机行?如果我用SQL编写它,那么我会在newid()上下订单并从顶部砍掉n行。无论如何首先在EF代码中执行此操作?我尝试创建一个使用newid()的查询并使用DbSet.SqlQuery()执行它。虽然它有效,但它不是最干净的解决方案。此外,尝试检索所有行并按新的guid对它们进行排序。虽然行数比较少,但仍然不是一个好的解决方案。有什么想法吗? 最佳答案 只需调用:something.OrderBy(r=>Guid.NewGuid()).Take(5) 关于c#-

c# - EF 代码优先 : How to get random rows

如何构建一个查询来检索随机行?如果我用SQL编写它,那么我会在newid()上下订单并从顶部砍掉n行。无论如何首先在EF代码中执行此操作?我尝试创建一个使用newid()的查询并使用DbSet.SqlQuery()执行它。虽然它有效,但它不是最干净的解决方案。此外,尝试检索所有行并按新的guid对它们进行排序。虽然行数比较少,但仍然不是一个好的解决方案。有什么想法吗? 最佳答案 只需调用:something.OrderBy(r=>Guid.NewGuid()).Take(5) 关于c#-

c# - 与 ObjectContext 相比,为什么在 EF 4.1 中插入实体这么慢?

基本上,我在一个事务中插入35000个对象:using(varuow=newMyContext()){for(inti=1;i这需要永远!如果我使用基础ObjectContext(通过使用IObjectAdapter),它仍然很慢,但需要大约20秒。看起来像DbSet正在做一些线性搜索,这需要大量的时间...还有其他人看到这个问题吗? 最佳答案 正如Ladislav在评论中指出的那样,您需要禁用自动更改检测以提高性能:context.Configuration.AutoDetectChangesEnabled=false;此更改检测

c# - 与 ObjectContext 相比,为什么在 EF 4.1 中插入实体这么慢?

基本上,我在一个事务中插入35000个对象:using(varuow=newMyContext()){for(inti=1;i这需要永远!如果我使用基础ObjectContext(通过使用IObjectAdapter),它仍然很慢,但需要大约20秒。看起来像DbSet正在做一些线性搜索,这需要大量的时间...还有其他人看到这个问题吗? 最佳答案 正如Ladislav在评论中指出的那样,您需要禁用自动更改检测以提高性能:context.Configuration.AutoDetectChangesEnabled=false;此更改检测