我一直在寻找一种合适的方式来标记一个属性,在MVC中更新模型时不会被改变。 例如,我们来看看这个小模型: class Model { [Key] public Guid Id {get; set;} public Guid Token {get; set;} //… lots of properties here … } 那么编辑方法MVC创build如下所示: [HttpPost] public ActionResult Edit(Model model) { if (ModelState.IsValid) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(model); } 现在如果我的视图不包含令牌,它将通过该编辑无效。 我正在寻找这样的东西: db.Entry(model).State = EntityState.Modified; db.Entry(model).Property(x => x.Token).State = PropertyState.Unmodified; db.SaveChanges(); 到目前为止,我发现的最好的方法是包容性的,并设置我想包括的所有属性手,但我真的只想说哪些被排除在外。
我的应用程序是在EF 4中使用数据库第一个EDMX。我想升级一切到EF 6.在获得与NuGet的EF 6之后,我不得不对我的EF模型,我的类进行了很多更改,因为名称空间然后我意识到,由我的EDMX生成的代码也使用错误的名称空间等等。到目前为止,我没有使用自定义的T4。 我如何将现有的EDMX升级到EF 6。 谢谢。
看起来,使用WCF的本地DataContractJsonSerializer或ASP.NET的本地JavaScript序列化程序将entity framework对象序列化为JSON是不可能的。 这是由于序列化器拒绝的引用计数问题。 我也试过Json.NET ,它也没有具体的引用计数问题。 编辑: Json.NET现在可以序列化和反序列化entity framework实体 。 我的对象是entity framework对象,重载执行额外的业务function(如身份validation等),我不想装饰这些类与特定于平台的属性等,因为我想呈现一个平台无关的API 。 我实际上在http://bloggingabout.net/blogs/program.x/archive/2009/03/18/wcf-json-serialization-woes.aspx上写了个博客。 我错过了什么明显的东西?
什么是查询: select s.* from Service s inner join ServiceAssignment sa on sa.ServiceId = s.Id where sa.LocationId = 1 在entity framework? 这是我写的: var serv = (from s in db.Services join sl in Location on s.id equals sl.id where sl.id = s.id select s).ToList(); 但是这是错误的。 有人能引导我走上这条道路吗?
我正在处理EF4代码,并喜欢它到目前为止。 但是,我有一个实体映射到复合主键的表。 我试过的configuration如下所示: public SubscriptionUserConfiguration() { Property(u => u.SubscriptionID).IsIdentity(); Property(u => u.UserName).IsIdentity(); } 哪个引发此exception:无法推断实体types“SubscriptionUser”的键。 我错过了什么?
看来有不同的方式来使用linq进行连接。 一个更简单,只需要join如下表格: var found = from c in s.categories join cm in s.categorymaps on c.CategoryId equals cm.ChildCategoryId select c; 还有另外一种使用lambdaexpression式的方式,我正在试图弄清楚如何使用这个语法来连接。 任何人都可以提供详细的解释和大量的例子的链接? 或者只是简单地演示如何使用这个相当混乱的语法示例? var x = _session.All<category>().Join<categorymap,category, ….
为什么entity framework中没有IDbContext接口? 如果存在一个像SaveChanges()等方法的现有接口,那么从中派生自定义的数据库上下文接口会不会更容易? public interface ICustomDbContext : IDbContext { // add entity set properties to existing set of methods in IDbContext IDbSet<SomeEntity> SomeEntities { get; } }
我有一个使用Linq-to-SQL构build的Web应用程序,我正在将它升级到Linq-to-EF。 我已经看了一些教程,基本上在数据库第一场景中,你创build一个ADO.NET实体数据模型,然后从那里select要包含在模型中的表(与linq-to-sql非常相似)。 现在在Add New Item窗口中,我看到还有另一个选项,包括创build一个EF 6.x DbContext生成器。 与创buildADO.NET实体数据模型(窗口的第一个选项)相比,DbContext生成器的目的是什么?DbContext生成器的用途是什么? 它似乎创build一个文本文件; 我该怎么办呢?
可能重复: ADO.NET DbContext生成器与ADO.NET Poco实体生成器(ObjectContext) 我应该使用ObjectContext还是DbContext? 什么是最好的方法?
在Entity Framework 4 Code Only(CTP3)中,如何为POCO的EntityConfiguration类中的属性设置默认值? public class Person { public int Id { get; set; } public string Name { get; set; } public DateTime CreatedOn { get; set; } } public class PersonConfiguration : EntityConfiguration<Person> { public PersonConfiguration() { Property(p => p.Id).IsIdentity(); Property(p => p.Name).HasMaxLength(100); //set default value for CreatedOn ? } }