EF Code First 简单的示例
2013-04-08 17:46 音乐让我说 阅读(593) 评论(0) 编辑 收藏 举报一对多:
public class Category { public Category() { Id = GuidComb.GenerateComb(); } public Guid Id { get; set; } public string Name { get; set; } public string Description { get; set; } public virtual IList<Topic> Topics { get; set; } } public class Topic { public Topic() { Id = GuidComb.GenerateComb(); } public Guid Id { get; set; } public string Name { get; set; } public DateTime CreateDate { get; set; } public virtual Category Category { get; set; } } public class CategoryMapping : EntityTypeConfiguration<Category> { public CategoryMapping() { HasKey(x => x.Id); HasMany(x => x.Topics) .WithRequired(x => x.Category); } } public class TopicMapping : EntityTypeConfiguration<Topic> { public TopicMapping() { HasKey(x => x.Id); HasRequired(t => t.Category).WithMany(t => t.Topics).Map(m => m.MapKey("Category_Id")); // 注意:如果实体中保存外键属性,那么这样写:this.HasRequired(t => t.Category).WithMany(t => t.Topics).HasForeignKey(m => m.Category_Id); } }
多对多:
public class TopicTag { public TopicTag() { Id = GuidComb.GenerateComb(); } public Guid Id { get; set; } public string Tag { get; set; } public virtual IList<Topic> Topics { get; set; } } public class Topic { public Topic() { Id = GuidComb.GenerateComb(); } public Guid Id { get; set; } public string Name { get; set; } public DateTime CreateDate { get; set; } public virtual IList<TopicTag> Tags { get; set; } } public class TopicTagMapping : EntityTypeConfiguration<TopicTag> { public TopicTagMapping() { HasKey(x => x.Id); } } public class TopicMapping : EntityTypeConfiguration<Topic> { public TopicMapping() { HasKey(x => x.Id); HasMany(t => t.Tags) .WithMany(t => t.Topics) .Map(m => { m.ToTable("Topic_Tag"); m.MapLeftKey("TopicTag_Id"); m.MapRightKey("Topic_Id"); }); } }
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2011-04-08 利用VS2010,给自己的ASP.NET MVC添加自己的控制器模板