很多人都是nhibernate

时间:2011-08-05 04:17:54

标签: c# nhibernate fluent-nhibernate

public class Movie
{
public int id;
public string Title;
public IList<Director> dirs;
}

public class Director
{
public string Name;
public DateTime birthday;
}

是否可以映射到这样的架构:

CREATE TABLE IF NOT EXISTS `movie` (
  `m_ID` varchar(9) NOT NULL 
  `Title` varchar(255) NOT NULL 
  PRIMARY KEY (`m_ID`),
  KEY `m_ID` (`ReleaseDate`,`Title`,)
)
CREATE TABLE IF NOT EXISTS `m_director` (
  `dirID` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `dirName` varchar(40) NOT NULL,
  `birthday` date 
  PRIMARY KEY (`dirID`),
  UNIQUE KEY `dirName` (`dirName`)
) 
CREATE TABLE IF NOT EXISTS `m_directs` (
  `m_ID` char(9) NOT NULL
  `dirID` int(11) unsigned NOT NULL,
  UNIQUE KEY `m_ID_2` (`m_ID`,`dirID`),
  KEY `m_ID` (`m_ID`),
  KEY `dirID` (`dirID`)
) 

没有在类导演中维护电影的IList?我想我真正想要的只是确保m_director表中没有重复的导演名称的方法,允许电影的多个导演,而不是导演班级关心他们指导的电影。

添加Director导演的电影列表会更好吗?如何阻止同一部电影在此处添加两次?

2 个答案:

答案 0 :(得分:0)

我不这么认为可以在你的Director类中使用IList of Movies来映射你的场景......因为在多对多的映射中这就是双方如何定义关系......

答案 1 :(得分:0)

您所谈论的是您的业务逻辑的重要部分。它应该管理导演,确保他们不会重复,并确保不添加两次电影。它与NHibernate没有任何关系。这只是简单的旧应用程序编程。

相关问题