草庐IT

html-framework-7

全部标签

c# - Entity Framework - 使用数据注释的属性的默认值

我有一个这样的模型publicclassMyModel{publicintMyModelId{get;set;}publicstringName{get;set;}publicstringDescription{get;set;}publicstringTitle{get;set;}}我想知道是否有一种方法,使用数据注释,将属性的值(比如标题)设置为其他属性值的默认值,即名称。像这样的东西:if(MyModel.Title=="")MyModel.Title=MyModel.Name; 最佳答案 如果您想要默认值,请在实体默认(无参

c# - Entity Framework 6.1.0 SaveChangesAsync

我有EF帮助程序类可以异步保存更改:publicasyncTaskSaveOrUpdateAsync(TEntityentity)whereTEntity:class,IContextEntity{if(entity.Id==0)context.Set().Add(entity);else{TEntitydbEntry=context.Set().Find(entity.Id);if(dbEntry!=null)dbEntry=entity;}returnawaitcontext.SaveChangesAsync();}publicvoidSave(){TasksaveEntit1As

c# - Entity Framework 指南

我正在尝试使用SQLServer2008设置EntityFramework。我将Guid用于表上的键。有没有办法设置它以便数据库自动生成key?我尝试将“RowGuid”设置为true,并将列的默认值设置为“(newid())”。无论哪种方式,映射类仍然需要我在C#端给它一个Guid。有什么想法吗? 最佳答案 Notyet:17.4.CanIuseaserver-generatedguidasmyentitykey?Unfortunately,inv1oftheEFthisisnotsupported.Whileitispossib

c# - 有条件地将 htmlAttributes 添加到 ASP.NET MVC Html.ActionLink

我想知道是否可以在方法调用中有条件地添加参数。例如,我在我的Site.Master中呈现一堆链接(总共六个)用于导航:|如果链接在该页面上,我想为该链接包含一个CSS类“selected”。所以在我的Controller中我要返回这个:ViewData.Add("CurrentPage","About");returnView();然后在View中我有一个htmlAttributes字典:htmlAttributes=newDictionary();htmlAttributes.Add("class","selected");%>现在我唯一的问题是如何为正确的ActionLink包含h

c# - 分层 Entity Framework 查询异常

我正在尝试使用EntityFramework构建分层集合-请参阅下面的查询-给定公司中的每个成员都有一个父成员-但是在尝试执行此操作时我得到以下异常:System.NotSupportedException:Thetype'Member'appearsintwostructurallyincompatibleinitializationswithinasingleLINQtoEntitiesquery.Atypecanbeinitializedintwoplacesinthesamequery,butonlyifthesamepropertiesaresetinbothplacesan

c# - 在 HTML 选择控件 (.NET/C#) 中的列表项上设置自定义属性

我正在尝试为数据绑定(bind)HTMLSelect控件中的每个列表项创建一个自定义属性。生成的HTML输出应如下所示:itemitemitem我试过像这样添加属性,但它们没有被渲染:ListItemCollectionvalues=newListItemCollection();ListItemtest=newListItem("add");test.Attributes.Add("data-value","myValue");values.Add(test);this.selectList.DataSource=values;this.selectList.DataBind();关

c# - .NET Entity Framework 插入与批量插入

当我使用我的xxxContext对象并向表发出多个添加时,EntityFramework如何将其解析为SQL?它会循环执行insertintoxxx还是如果有数百行,它是否足够智能以发出批量插入命令?奖励问题:如果它不发出批量插入,是否有办法强制它发出,这样我的数据库性能就不会被单独的插入破坏?还是批量处理到临时表,然后像Upsert一样合并到原始表? 最佳答案 任何ORM工具的缺点是它“很啰嗦”。大多数时候这就足够了。有时不是。简短的回答是“不”。这就是为什么有时我仍然会选择IDataReader而不是EF或NHibernate等

c# - Entity Framework 给出异常 : "The underlying provider failed on Open."

我有一个测试。发生的情况是,无论何时首先执行test1,test2都会失败并显示消息:"System.Data.EntityException:System.Data.EntityException:theunderlyingproviderfailedonopen.cannotopendatabase"DBEntities"requestedbythelogin.Theloginfailed.".只要先执行test2,test1就会失败并显示相同的消息。过去3天我一直在处理这个问题。[TestClass]classMyTestClass{DBEntitiesdb;[TestIniti

c# - 在 Entity Framework 中使用唯一约束交换值

我对Navigations表的名为Index的列有唯一约束。我有两个Navigation实体,我想交换它们的Index值。当我调用db.SaveChanges时,它会抛出一个异常,表明违反了唯一约束。似乎EF正在更新一个值,然后更新另一个值,因此违反了约束。难道不应该在事务中同时更新它们,然后在整理出值且不违反约束后尝试提交吗?有没有不使用临时值的方法解决这个问题? 最佳答案 这不是EF的问题,而是SQL数据库的问题,因为update命令是顺序执行的。事务与此无关——所有约束都是按命令而不是按事务验证的。如果您想交换唯一值,您需要更

c# - 如何从 Entity Framework 6 中的 Auditlog 实体获取 ID

我知道那里有几篇类似的帖子,但我找不到任何解决此问题的帖子。我想在EntityFramework6中添加、更改或删除实体(软删除)时添加(某种)AudioLog。我已经覆盖了SaveChanges,因为我只想为添加、修改的EntityStates添加日志条目或已删除,我会在第一次调用SaveChanges之前获取列表。问题是,因为我需要记录已执行的操作,所以我需要检查实体的EntityState。但是在调用SaveChanges之后,所有条目的EntityState都保持不变。publicoverrideintSaveChanges(){using(varscope=newTransa