草庐IT

framework-part

全部标签

c# - 为什么 TransactionScope 不能与 Entity Framework 一起使用?

请参阅下面的代码。如果我初始化了多个实体上下文,那么我会在仅在第二组代码上得到以下异常。如果我注释掉第二组它会起作用。{"TheunderlyingproviderfailedonOpen."}Inner:{"Communicationwiththeunderlyingtransactionmanagerhasfailed."}Inner:{"ErrorHRESULTE_FAILhasbeenreturnedfromacalltoaCOMcomponent."}请注意,这是一个示例应用程序,我知道连续创建2个上下文没有意义。但是,生产代码确实有理由在同一个TransactionScop

c# - Entity Framework - 停止按需延迟加载相关实体?

我设置了EntityFramework,它在我需要的大部分时间都运行良好。我有这样的结构publicpartialclassTopic:Entity{publicGuidId{get;set;}publicstringName{get;set;}publicDateTimeCreateDate{get;set;}publicvirtualPostLastPost{get;set;}publicvirtualCategoryCategory{get;set;}publicvirtualIListPosts{get;set;}publicvirtualIListTags{get;set;}

c# - Entity Framework 大数据集,内存不足异常

我正在处理一个非常大的数据集,大约有200万条记录。我有下面的代码,但在处理大约三批处理(大约600,000条记录)后出现内存不足异常。我知道当它循环遍历每个批处理EntityFramework时会延迟加载,然后尝试将完整的200万条记录构建到内存中。有没有办法卸载我处理过的那批?ModelContextdbContext=newModelContext();IEnumerable>towns=dbContext.Towns.OrderBy(t=>t.TownID).Batch(200000);foreach(varbatchintowns){SearchClient.Instance

c# - 如何使用 Entity Framework Fluent API 配置多对多关系

我试图先在EF代码中建立多对多关系,但默认约定出错了。以下类描述了这种关系:classProduct{publicintId{get;set;}publicstringName{get;set;}}classAccount{publicintId{get;set;}publicstringName{get;set;}publicvirtualICollectionProducts{get;set;}}一个帐户可以有多个产品。但是EF约定将创建数据库表为:ProductsTable--------------IdNameAccount_Id这不像是多对多的表结构?我如何配置流畅的API以

c# - Entity Framework MappingException : The type 'XXX has been mapped more than once

我在Web应用程序中使用EntityFramework。ObjectContext是根据请求创建的(使用HttpContext),特此代码:stringocKey="ocm_"+HttpContext.Current.GetHashCode().ToString();if(!HttpContext.Current.Items.Contains(ocKey)){HttpContext.Current.Items.Add(ocKey,newElevationEntityModel(EFConnectionString));}_eem=HttpContext.Current.Items[oc

c# - 无法进入 .NET Framework 源代码

我正在使用VisualStudio2013并有一个.NET4.5.2项目。我已根据以下页面设置我的设置:http://referencesource.microsoft.com/setup.html通过此设置,我可以看到所有必要的符号都已下载并加载,但我无法进入如下代码:varcookieContainer=newSystem.Net.CookieContainer();我收到一条来源不可用消息。我可以单步执行以下代码:Console.WriteLine("test");你知道为什么我可以单步执行mscorlib.dll的代码但不能单步执行System.dll的代码吗?

c# - 为什么 Entity Framework 在直接 select 语句中比 Dapper 执行得更快

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我刚开始使用ORM处理数据库,目前我正在制作一个新项目,我必须决定是使用EntityFramework还是Dapper。我读了很多文章说Dapper比EntityFramework更快。所以我做了2个简单的原型(prototype)项目,一个使用Dapper,另一个使用EntityFramework和一个函数来从一个表中获取所有行。表结构如下图两个项目的代码如下对于Dapper项目System.Diagn

c# - Entity Framework 中的 "The data reader has more than one field"错误

我正在使用EntityFramework执行这个简单的查询db.Database.SqlQuery("SELECT*FROMhospital");但是我得到了这个错误:Thedatareaderhasmorethanonefield.MultiplefieldsarenotvalidforEDMprimitiveorenumerationtypes.可能是什么问题? 最佳答案 查看医院表的样子会很有用,但假设像医院这样简单的东西由HospitalId和HospitalName组成,那么您有几个选择。//wouldworkifally

c# - 如何使用 Entity Framework DB First 的现有枚举

我正在使用EntityFramework5,优先使用数据库。我知道如何在我的模型上定义枚举,并将字段类型设置为该枚举。现在,我需要将字段MyField映射到外部定义的枚举,即不在EF模型(OtherNamespace.MyEnum)中。设计师不允许我将类型设置为模型之外的任何内容。我尝试手动编辑edmx文件,但这会导致错误:Error10016:Errorresolvingitem'MyField'.Theexceptionmessageis:'Unresolvedreference'OtherNamespace.MyEnum'.'.OtherNamespace.MyEnum被我的项目

c# - 如何在 Entity Framework 中获取 SQL Server 序列的下一个值?

我想使用SQLServersequenceobjects在EntityFramework中显示数字序列,然后将其保存到数据库中。在当前情况下,我正在做一些相关的事情,方法是在存储过程中递增1(以前的值存储在一个表中)并将该值传递给C#代码。为此,我需要一个表,但现在我想将它转换为一个sequence对象(它会带来任何好处吗?)。我知道如何在SQLServer中创建序列并获取下一个值。但我想知道如何在EntityFramework中获取SQLServer的sequence对象的下一个值?我无法在Relatedquestions中找到有用的答案所以。提前致谢。