由于我已经有我的LINQ to SQL数据访问解决方案的类,如果我想将它们迁移到EFCF,可能遇到什么麻烦?由于数据库已经存在,我不愿意先调用这些代码。要清楚的是,该应用程序尚未投入生产,因此如果EFCF清除数据,这并不是真正的损失。从LINQ到SQL到实体框架的迁移“代码优先”
我可以参加一个如下的课程,只是在EFCF中使用它?我应该还是必须删除数据注记属性?
什么需要改变,我有EntityRef和EntitySet?
[Table]
public class PlanMember {
private EntityRef<SystemUser> _caseManager;
private EntityRef<PlanMemberStatus> _status;
public PlanMember() {
this.PlanMemberView = new Views.PlanMember();
}
[Column(
IsPrimaryKey = true,
IsDbGenerated = true,
AutoSync = AutoSync.OnInsert
)]
public Int64 ID { get; set; }
[Column]
public DateTime? BirthDate { get; set; }
[Column]
public String City { get; set; }
[Column]
public String FirstName { get; set; }
[Association(ThisKey = "CaseManagerID", Storage = "_caseManager")]
public SystemUser CaseManager {
get { return (this._caseManager.Entity); }
set { this._caseManager.Entity = value; }
}
[Column]
public String CaseManagerID { get; set; }
[Column]
public Boolean IsActive { get; set; }
public Boolean IsEligible {
get { return (this.PlanMemberView.IsEligible); }
}
[Column]
public String LastName { get; set; }
[Column]
public String MedicalRecord { get; set; }
[Column]
public String MemberNumber { get; set; }
[Column(Name = "PCPFullName")]
public String PrimaryCarePhysicianFullName { get; set; }
[Association(OtherKey = "PlanMemberID")]
public Views.PlanMember PlanMemberView { get; set; }
[Column]
public Int32 PostalCode { get; set; }
[Column]
public String Sex { get; set; }
[Column]
public String State { get; set; }
[Association(ThisKey = "StatusID", Storage = "_status")]
public PlanMemberStatus Status {
get { return (this._status.Entity); }
set { this._status.Entity = value; }
}
[Column]
public Int32 StatusID { get; set; }
}
幸运的是,这个应用程序相对简单,并且不包含许多M:N关系。你能否详细说明为什么你必须允许EF可以使用空列来很好地播放?没有XML类型,至少不在LOB区域。我也在使用存储库,希望在发布之前用WCF包装它。还为ReSharper +1! – Yuck 2011-05-09 15:23:11
可能是我前面的错误 - 从过去的宿醉,但我们避免int?值,所以我们设置了一些“可空”关系作为“foregin key ID或-1为null”,但根本不能用EF工作,它期望FK列可以为空。 – 2011-05-09 15:37:07