草庐IT

4Framework

全部标签

c# - 适用于 Windows x64 的 ASP.NET Core 应用程序(.NET Framework)仅在 project.assets.json 中出错

我想使用VS2017简化我在ASP.NETCoreWeb应用程序(.NETFramework)应用程序中的配置。我已经知道我的网站将在x64环境和.NET4.6.2的Windows/IIS下运行。在可预见和不可预见的future,此应用程序没有机会使用从开发到生产的任何其他环境。因此,我只需要Debugx64和Releasex64模式。(不需要任何CPU和x86!),所以我继续从项目中删除所有其他配置。现在,在编译时,我收到以下错误:'C:\Projects\MyProject\My.Website\obj\project.assets.json'doesn'thaveatargetf

c# - 将 Entity Framework 中的字符串列映射到枚举

有没有办法将字符串列映射到实体模型中的枚举?我已在Hibernate中完成此操作,但无法在EMF中解决。 最佳答案 可能是更好的版本。OrderStateIdentifier字段用于JSON序列化和数据库字段,而OrderState只是为了方便在代码中使用。publicstringOrderStateIdentifier{get{returnOrderState.ToString();}set{OrderState=value.ToEnum();}}[NotMapped][JsonIgnore]publicOrderStateOrd

c# - 将 TransactionScope 与 Entity Framework 6 结合使用

我无法理解的是,是否可以更改上下文并在提交之前在同一事务中获取更改。这就是我要找的:using(varscope=newTransactionScope(TransactionScopeOption.Required)){using(varcontext=newDbContext()){//firstIwanttoupdateaniteminthecontext,nottothedbItemthisItem=context.Items.First();thisItem.Name="Updatename";context.SaveChanges();//Savechangetothisc

c# - Entity Framework 6 模拟包含 dbset 上的方法

一直在谷歌上搜索有关如何在EF6中模拟dbset上的include方法的问题的解决方案。这个问题在这里有详细记录:-http://entityframework.codeplex.com/discussions/461731不幸的是,那里似乎没有有效的解决方案。有没有人找到解决方法?我确实理解我们不应该真正模拟EF6上下文,但项目负责人坚持这样做。提前致谢。 最佳答案 我遇到了与上述@GetFuzzy相同的戏剧性事件-似乎无论我做什么,只要在MoqDbSet上进行Include()调用,我都无法避免NullReferenceExce

c# - 并行不适用于 Entity Framework

我有一个ID列表,我需要对每个ID运行多个存储过程。当我使用标准的foreach循环时,它工作正常,但是当我有很多记录时,它工作得非常慢。我想将代码转换为使用EF,但出现异常:“基础提供程序在打开时失败”。我在Parallel.ForEach中使用这段代码:using(XmlEntitiesosContext=newXmlEntities()){//Thecode}但它仍然抛出异常。知道如何将Parallel与EF一起使用吗?我是否需要为我正在运行的每个过程创建一个新的上下文?我有大约10个过程,所以我认为创建10个上下文非常糟糕,每个上下文一个。 最佳答案

c# - .NET Framework 中的“AssemblyTitle”属性

AssemblyTitle属性的实际用途是什么?MSDN说它指定了程序集的描述,并且程序集标题是一个可以包含空格的友好名称。VisualStudio要求在项目的属性窗口中提供程序集名称以及默认命名空间。有一个AssemblyName属性,但它完整地描述了程序集的唯一身份(即文化等)。我看不出AssemblyTitle与AssemblyProduct有何不同。我使用IL反汇编程序了解Microsoft如何使用AssemblyTitle。我发现在mscorlib.dll中,AssemblyTitle、AssemblyProduct和AssemblyDefaultAlias都设置为"msco

c# - Entity Framework 创建与现有实体有关系的新实体,导致尝试创建现有实体的新副本

我正在尝试创建一个具有特定角色的新用户对象。“角色”是EF中的现有实体。我已经用谷歌搜索和计算器溢出,直到我脸色发青,我已经尝试了所有似乎对其他人都有效的东西。但是当我尝试保存我的新用户对象时,它首先尝试创建一个新的“角色”,而不是仅仅创建一个引用现有角色的新用户对象。我做错了什么?RolemyRole=newRole{ID=myUser.Role.ID};myObjectContext.Roles.Attach(myRole);myUser.Role=myRole;if(myUser.ID==0){myObjectContext.Users.AddObject(myUser);}el

c# - Entity Framework 在 x64 和 x86 上的启动速度要慢得多

我的同事昨天发布了这个问题:7-secondEFstartuptimeevenfortinyDbContext.在获取他的代码并将其移动到一个单独的解决方案以尽可能地隔离它之后,我发现包含项目的平台目标对EF启动过程的运行时产生了深远的影响。当以x64为目标时,我发现测试用了约7秒来启动第一个DbContext,用了鉴于此,EntityFramework在针对64位系统和32位系统时似乎正在经历一个截然不同的初始化过程。有没有人深入了解幕后发生的事情来解释这一点? 最佳答案 这个问题是完全可重现的。我刚刚运行它并使用dotTrace

c# - Entity Framework 5 代码优先不创建数据库

我正在尝试使用EntityFramework的代码优先概念创建一个新数据库。然而,当运行代码时,数据库没有创建(使用DropCreateDatabaseIfModelChanges设置),尽管代码运行良好。当我尝试从数据库中获取某些内容时,我看到了以下异常。我的项目是使用具有通用服务和存储库构造的单独DataAccess层设置的。所以我所有的实体、存储库和数据库上下文都在解决方案中的一个单独项目中。我的global.asax文件包含以下代码。Database.SetInitializer(newDropCreateDatabaseIfModelChanges());如果不存在,这应该会

c# - 如何正确配置 Entity Framework ?

要从提供以下内容的EF4.1获取单个回调,我可以编写的最少代码量是多少:OnSQLExecuted(DbCommandcmd,DateTimestart,doubledurationMS,stringstacktrace)目前我们使用了一个似乎正在泄漏性能的讨厌的hack,我很好奇我们如何在对应用程序的影响最小的情况下实现此回调。我们可以将其连接到MiniProfiler中通过hackingaround-最初我们更改了Database.DefaultConnectionFactory但是与默认工厂混为一谈意味着您不能同时运行两个分析工厂。所以我们走了更激进的路线。常用的技术非常简单,您