我是ASP.Net MVC和EF代码的新手。我想创建一个专业的音乐分享网站。但我担心,如果我在代码First.Also中是真的,我想要使用简单的成员资格或您建议的任何其他成员资格,并且我想在我的解决方案中使用分层。我应该有以下实体:
namespace MusicSite.Models
{
public class Media
{
public int Id { get; set; }
public MediaType MediaType { get; set; }
public string FilePath { get; set; }
public string Title { get; set; }
}
}
namespace MusicSite.Models
{
public enum MediaType
{
MP3=1,
MusicVideo=2,
Photo=3
}
}
namespace MusicSite.Models
{
public class MP3:Media
{
public Artist Artist { get; set; }
}
}
namespace MusicSite.Models
{
public class Artist
{
public User User { get; set; }
}
}
namespace MusicSite.Models
{
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
}我不知道如何关联这些实体。你能帮帮忙吗?
发布于 2014-01-07 03:29:09
首先在模型中关联实体,例如:
public class Media
{
public Artist Artist { get; set; }
}
public class Artist
{
public int Id { get; set; }
public string Name { get; set; }
}如果您允许EF基于此模型生成数据库,您将发现Media表将包含一个名为Artist_Id的列,该列是对Artist表的外键引用。
如果您决定以并行方式(例如,手动)创建数据库,则需要设计数据库以正确利用EntityFramework Conventions,或者使用Data Annotations或EntityFramework Fluent Mappings。
在这一点上,我的建议是-如果你真的希望进行代码优先开发-将创建类并使用EF到generate the database。
https://stackoverflow.com/questions/20957273
复制相似问题