【发布时间】:2017-08-30 10:51:44
【问题描述】:
我是 ASP.NET 的新手,我正在尝试为我的小项目创建一个合适的模型。
让我先解释一下这个概念: 我想创建一个 ASP.NET 应用程序来管理我的用户获得的杂志和论文。我还想将用户分配给杂志。很简单。一个杂志/论文可以有多个用户(读者),一个用户可以有多个他阅读的杂志。这就是为什么它对我来说是多对多的关系。
我阅读了一些关于代码优先多对多关系的教程,据我所知,我需要一个包含 MagazineId 和 ReaderId 的第三类。想请教各位大佬这样的做法是否正确:
杂志类:
[Table("MA_Magazine")]
public class Magazine
{
public int MagazineId { get; set; }
public string MagazineTitle { get; set; }
public string Notice { get; set; }
public virtual ICollection<Subscription> Subscriptions { get; set; }
}
阅读器类:
[Table("MA_Reader")]
public class Reader
{
public int ReaderId { get; set; }
public string ReaderName { get; set; }
public string Department { get; set; }
public virtual ICollection<Subscription> Subscriptions { get; set; }
}
订阅类(第三类,同时引用杂志和读者 ID):
public class Subscription
{
public int SubscriptionId { get; set; }
public int MagazineId { get; set; }
public int ReaderId { get; set; }
}
到目前为止这是正确的吗?
下一步是创建我猜的 Viewmodel:
public class viewAllModel
{
public int MagazineId { get; set; }
public string MagazineTitle { get; set; }
public string Notice { get; set; }
public int ReaderId { get; set; }
public string ReaderName { get; set; }
public string Department { get; set; }
}
如果我想列出所有杂志及其读者用户,并可能实施多选列表以将用户分配给杂志,我必须将 IEnumerable 放在哪里?抱歉,我对此感到很困惑,我敢打赌有一个简单的解决方案,但正如我所说,我对这一切都很陌生,我还不完全理解 Viewmodels 的概念。
感谢您的每一条评论和提示。太感谢了。 :D
【问题讨论】:
-
这与ASP.NET无关,这是Entity Framework。
-
订阅可以引用 Reader 和 Magazine 而不仅仅是 ReaderId 和 MagazineId。
-
嗨,里卡多,感谢您的回答。 Viewmodel 部分 asp.net 不是与 MVVM 相关吗?但是,是的,模型本身就是 EF。
-
是的,你说得对。
标签: c# asp.net entity-framework-6