Tag: ef code first

如何在代码优先的entity framework6.2中创build索引

有没有办法使用代码优先在属性/列上创build索引,而不是使用新的IndexAttribute ?

entity framework代码First Fluent Api:向列添加索引

我正在运行EF 4.2 CF,并希望在我的POCO对象的某些列上创build索引。 举一个例子,让我们说我们有这个雇员类: public class Employee { public int EmployeeID { get; set; } public string EmployeeCode { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public DateTime HireDate { get; set; } } 我们经常通过他们的EmployeeCode来search雇员,而且由于有很多雇员,为了性能原因,这样做会很好。 我们可以用stream利的API做些什么吗? 或者可能是数据注释? 我知道可以执行这样的sql命令: context.Database.ExecuteSqlCommand("CREATE INDEX IX_NAME ON …"); 我非常想避免这样的原始SQL。 我知道这不存在,但寻找的东西沿着这些线路: […]

EF:使用延迟加载的必需属性时,validation失败

鉴于这个非常简单的模型: public class MyContext : BaseContext { public DbSet<Foo> Foos { get; set; } public DbSet<Bar> Bars { get; set; } } public class Foo { public int Id { get; set; } public int Data { get; set; } [Required] public virtual Bar Bar { get; set; } } public class Bar { public […]

entity framework迁移中必填字段的默认值?

我在ASP.NET MVC应用程序中添加了[Required]数据注释。 创build迁移后,运行update-database resuilts,出现以下错误: 无法将值NULL插入到'Director'列中,'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies'; 列不允许空值。 更新失败。 该语句已终止。 这是由于一些logging在其Director列中有NULL。 我该如何自动将这些值改变为默认值(如“John Doe”)导演? 这是我的模型: public class Movie { public int ID { get; set; } [Required] public string Title { get; set; } [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } [Required] public string Genre { get; set; } [Range(1,100)] [DataType(DataType.Currency)] public decimal Price { get; set; […]

entity framework代码 – 第一个空外键

我有一个User < Country模式。 用户属于一个国家,但可能不属于任何(空外键)。 我如何设置? 当我尝试插入一个空国家的用户,它告诉我,它不能为空。 模型如下: public class User{ public int CountryId { get; set; } public Country Country { get; set; } } public class Country{ public List<User> Users {get; set;} public int CountryId {get; set;} } 错误: A foreign key value cannot be inserted because a corresponding primary key value does not […]

如何使用entity framework代码第一个CTP 5存储图像?

我只是想弄清楚是否有一个简单的方法来存储和检索二进制(文件)数据使用EF Code First CTP 5? 我真的很喜欢它使用FILESTREAMtypes,但我真的只是寻找一些方法使其工作。

ICollection <T> Vs List <T>在entity framework中

在我开始devise几个entity framework应用程序之前,我只观看了一些networking广播。 我真的没有阅读那么多的文档,现在我觉得我很痛苦。 我已经在我的课程中使用List<T> ,并且工作得很好。 现在我已经阅读了一些文档,并指出我应该使用ICollection<T> 。 我改变了这一点,甚至没有引起模型上下文的改变。 这是因为这两个List<T>和ICollection<T>inheritanceIEnumerable<T> ,这是EF实际需要什么? 但是,如果是这种情况,为什么EF文档没有声明它需要IEnumerable<T>而不是ICollection<T> ? 无论如何,我所做的还有什么缺点,还是应该改变呢?

实体types<type>不是当前上下文的模型的一部分

我正在进入entity framework,但我不确定是否缺less代码优先方法中的关键点。 我正在使用基于https://genericunitofworkandrepositories.codeplex.com/代码的通用存储库模式,并创build了我的实体。 但是,当我尝试访问或修改实体时遇到以下情况: System.InvalidOperationException:实体typesEstate不是当前上下文的模型的一部分。 它发生在我试图从我的存储库访问它时: public virtual void Insert(TEntity entity) { ((IObjectState)entity).ObjectState = ObjectState.Added; _dbSet.Attach(entity); // <– The error occurs here _context.SyncObjectState(entity); } 数据库(./SQLEXPRESS)创build得很好,但实体(表)只是在启动时没有创build。 我想知道如果我需要明确设置实体的映射? 英孚不能通过它自己? 我的实体是: public class Estate : EntityBase { public int EstateId { get; set; } public string Name { get; set; } } 我的背景是这样的: public partial class DimensionWebDbContext : […]

术语“更新数据库”不被识别为cmdlet的名称

我正在使用EF5 beta1,而我之前可以运行“更新数据库”。 现在我closures了Visual Studio,我无法运行它。 我得到以下错误: 术语“更新数据库”不被识别为cmdlet,函数,脚本文件或可操作程序的名称。 检查名称的拼写,或者如果包含path,请validationpath是否正确,然后重试。 在行:1 char:16 +更新数据库<<<< -verbose + CategoryInfo:ObjectNotFound:(更新数据库:string)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException 我试图重新安装EF5b1,虽然成功(已安装),“更新数据库”仍然无法正常工作。 谁能帮助吗?

如何声明外键关系在MVC3中使用代码第一entity framework(4.1)?

我一直在寻找关于如何使用代码第一个EF 4.1来声明外键关系和其他约束的资源,但没有多less好运。 基本上我在代码中构build数据模型,并使用MVC3来查询该模型。 一切工作通过MVC这是伟大的(微软的荣誉!),但现在我希望它不工作,因为我需要有数据模型的约束。 例如,我有一个Order对象,它有很多属性是外部对象(表)。 现在我可以创build一个订单没有问题,但无法添加外键或外部对象。 MVC3设置这个没有问题。 我意识到我可以在保存之前在控制器类中自己添加对象,但是如果约束关系未被满足,我希望调用DbContext.SaveChanges()失败。 新的信息 所以,具体而言,我想要在不指定客户对象的情况下保存Order对象时发生exception。 这似乎不是行为,如果我编写的大多数Code First EF文档中描述的对象。 最新的代码: public class Order { public int Id { get; set; } [ForeignKey( "Parent" )] public Patient Patient { get; set; } [ForeignKey("CertificationPeriod")] public CertificationPeriod CertificationPeriod { get; set; } [ForeignKey("Agency")] public Agency Agency { get; set; } [ForeignKey("Diagnosis")] public Diagnosis PrimaryDiagnosis […]