草庐IT

entity-attribute-value

全部标签

c# - 为什么我无法在 Entity Framework 的 SaveChanges() 方法上捕获 SqlException

我将SaveChanges()方法放在try/catchblock中,但我无法捕获SqlExeption。try{db.SaveChanges();}catch(Exceptionex){} 最佳答案 SqlException是System.Data.SqlClient.SqlException类所以你不能捕获这个异常是正常的EntityFrameworkDbContext.SaveChangesMethod()只能抛出以下异常MSDNDbUpdateExceptionDbUpdateConcurrencyExceptionDbEn

c# - 禁用 Entity Framework 代理创建

根据我的阅读,设置ProxyCreationEnabled=false将阻止更改跟踪和延迟加载。但是,我不清楚更改跟踪涵盖的内容。如果我禁用它并从数据库中获取一个实体,对其进行更改并提交,那么这些更改将被保存。我仍然能够从ChangeTracker获取修改后的条目:ChangeTracker.Entries().Where(x=>x.State==EntityState.Modified).ToList()如果我禁用了代理创建,这是否可行?我想禁用它,但我想清楚我要禁用的是什么。 最佳答案 我可以确认在EF中将ProxyCreati

c# - 升级到 Entity Framework 4.3.1 后未处理的异常

错误:未处理的异常:System.Data.SqlClient.SqlException:操作失败,因为表“PrivateMakeUpLessons”上已存在名为“IX_ID”的索引或统计信息。模型(简化,构建在单独的测试项目中进行调试):publicabstractclassLesson{publicGuidID{get;set;}publicstringRoom{get;set;}publicTimeSpanTime{get;set;}publicintDuration{get;set;}}publicabstractclassRecurringLesson:Lesson{publ

c# - Entity Framework 返回旧数据

我遇到一个问题,EF没有在3层WPF应用程序中返回最新数据,我怀疑这与我处理上下文生命周期的方式有关。这是场景:一个UnitOfWork中包含多个存储库。还有一项服务(MyService),它使用UnitOfWork。此UnitOfWork还必须直接从UI调用,而不通过服务。我在主窗口的ViewModel中的某个时刻创建了一个新窗口(首先使用ViewModel):vardialog=newDialogViewModel(_eventAggregator,_unitOfWork,Container.Resolve());这个主窗口ViewModel有一个UnitOfWork,它已被注入(

c# - Entity Framework - "An error occurred while updating the entries. See the inner exception for details"

这个问题在这里已经有了答案:FindingthereasonforDBUpdateException(9个回答)关闭3年前。我有问题,我刚开始学习EFModelFirst,我在一个点上停留了一段时间。我收到这样的错误:“更新条目时发生错误。有关详细信息,请参阅内部异常”我在图表上创建了一个简单的模型,生成了数据库并用C#编写了简单的代码以在表格中只添加一行,但错误一直出现。我发布了带有Diagram/GeneratedDLL/SimpleMain/Anderrorthrowing的截图更大尺寸的链接:http://i.imgur.com/bKGc4wv.png

c# - Entity Framework Core 数据库第一种方法复数表名

我们现有的数据库具有复数表名。例如Documents。我正在尝试将新的EFCore和Asp.NetCore与基于本文here的数据库优先方法结合使用我运行以下命令从现有数据库创建模型Scaffold-DbContext"Server=(local);Database=MyDatabase;Trusted_Connection=True;"Microsoft.EntityFrameworkCore.SqlServer-OutputDirModels但是,当我运行脚手架命令时,它会创建具有复数名称的模型。例如Documents表转换为模型名称Documents。我如何更改它以便它可以对模型

c# - Entity Framework 中推荐的身份生成方法是什么?

我对StoreGeneratedPattern的最高性能方式很感兴趣。以前我习惯让DB帮我生成ID,但我想知道这样设置有没有什么好处StoreGeneratedPattern=None代替StoreGeneratedPattern=Identity我什至不确定将其设置为“已计算”时会发生什么。有什么建议吗?有没有与此相关的好文章,因为msdn不是很清楚。在我的模式中,我主要使用整数和少量GUID。 最佳答案 查看我的blogpost关于StoreGeneratedPattern。它解释了Identity和Computed之间的一些区

c# - 如何在 Entity Framework 中使用 DateTime.AddDays(x)

我有这个代码:fromprine.ProgramSetup.Include("Program").Include("Program.Client")wherepr.DateBeginDateTime.Now.AddDays(pr.DateEndOffset)selectpr).ToList();它不起作用,因为AddDays()不可能用于生成sql。那么还有别的办法吗?现在我选择所有内容并最终通过foreach对其进行过滤,但我认为这不是好方法。问题是pr.DateEndOffset也只在db中,它不是常量... 最佳答案 usin

c# - MVC4 TDD - System.ArgumentNullException : Value cannot be null.

我是mvc4和TDD的新手。当我尝试运行这个测试时它失败了,我不知道为什么。我已经尝试了很多东西,我开始原地踏步。//GETapi/User/5[HttpGet]publicHttpResponseMessageGetUserById(intid){varuser=db.Users.Find(id);if(user==null){//returnRequest.CreateResponse(HttpStatusCode.NotFound);thrownewHttpResponseException(Request.CreateResponse(HttpStatusCode.NotFou

c# - MVC3 asp.net 错误 : Value cannot be null. 参数名称:下拉列表中的项目

在尝试发布数据时,我只在服务器中而不是在我的本地系统中得到转储。有一个页面向数据库提交了一些值。我还将页面中的下拉列表建模为强制性的。但是,当点击“创建”时,不会出现“丢失”之类的错误;它抛出一个垃圾场。转储跟踪:Valuecannotbenull.Parametername:itemsDescription:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformationabouttheerrorandwhereitorigi