如果实体在DbContext之外被更改(是一个分离的实体),我在更新实体方面遇到了一个小问题.如果我附加修改后的实体,则其状态不会被修改.
我的代码看起来像这样:
var specificationToSave = GetSpecificationFromTmpStore(userSessionGuid);
using (var context = DataContextFactory.GetDataContext())
{
// this works for update, if I change the values inside the context while debugging
// but it breaks with new entities
context.Specifications.Attach(specificationToSave);
// this works for insert new entities, modified entities will be saved as new entities
context.Specifications.Add((specificationToSave);)
context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我知道NHibernate,它的方法是SaveOrUpdate.如果更新或插入实体,NHibernate会因为值而决定.
使用EF 4.x以及在DbContext之外修改的实体执行此操作的最佳做法是什么?如何告诉EF该实体处于修改状态?
我可以在玉石teplate内摆脱花括号吗?(我在node.js中使用jade)
我想将jQuery模板呈现给客户端.我要逃避的部分看起来像这样:
div(class='clear')
script(id='BoardListTemplate', type='text/x-jQuery-tmpl')
<p>${Title}</p>
<ul id="${Id}" class="IterationBoardList">
<li class="AddNewItem">Add new Item</li>
{{tmpl(Items) "#BoardListItemTemplate"}}
</ul>
script(id='BoardListItemTemplate', type='text/x-jQuery-tmpl')
<li class="Item" id="${{$data.Id}}">
${$data.Description}<br />
Assigned to: ${$data.AssignedTo}<br/>
StoryPoints: ${$data.StoryPoints}</li>
script(src='/javascripts/Scrummr.Engine.js', id='BoardListItemTemplate', type='text/javascript')
Run Code Online (Sandbox Code Playgroud)
非常感谢