【发布时间】:2017-07-28 18:41:31
【问题描述】:
我是 entityframework 的新手,我从这段代码开始,但我不知道为什么在 var count = context 行中出现异常处理程序“EntityFramework.dll 中发生 System.Data.Entity.ModelConfiguration.ModelValidationException”。 Albums.Count();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
namespace entityframework1
{
class Program
{
static void Main(string[] args)
{
using (var context = new MusicAlbumContext())
{
var count = context.Albums.Count();
Console.WriteLine(count);
context.Albums.Add(new Album() { Name = "best", Cost = 34.43m });
context.SaveChanges();
Console.WriteLine(count);
Console.Read();
}
}
}
public class MusicAlbumContext:DbContext
{
public DbSet<Album> Albums { get; set; }
}
public class Album
{
public string Name { get; set; }
public decimal Cost { get; set; }
}
}
【问题讨论】:
-
异常中应该还有很多信息,它说了什么?
-
我敢打赌这与您的模型没有 id 有关。添加 [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int id { get;放; }
-
@knuturO 是的,这是真的;非常感谢;我应该在 Album 类中定义一个 Id 字段
-
@KnuturO EF 应该自动执行此操作(至少在 v6 中是这样,我假设是 v4)
标签: c# entity-framework-4