0
CREATE TABLE IF NOT EXISTS `movie` (
`m_ID` varchar(9) NOT NULL
`ReleaseDate` date
`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,
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`)
)
另请注意,m_ID设置为电影表的外键,而dirID设置为m_director的外键。NHibernate映射问题
我不明白这将通过映射xmls映射到像这样的对象。
public class Movie
{
public string MovieTitle{get;set;}
public IList<string> Directors;
public DateTime ReleaseDate;
}
我可以看到,如果没有电影,m_director(如m_directs)之间的中介表这将是相当容易的一个列表的标签,但对于一个模式像我有,我不明白这是怎么回事完成。
嗯好吧,那我怎么该列表映射到我的架构?抱歉,仍然不完全了解nhibernate的工作原理= \ – user623879
我在使用Fluent Nhibernate,它可以帮助我理解,但看起来像Director类需要IList才能工作。无论如何要避免这种情况? –
user623879
@ user623879:如果您还没有计划尚未迭代到导演指导的电影,则不需要,您可以删除Director类下的IList。你可以试试这个例子:http://www.ienablemuch.com/2011/07/using-checkbox-list-on-aspnet-mvc-with.html尝试删除Genre类的IList ,代码仍然可以工作。尽管在类关系的两端都设置IList是微不足道的,但可以将它们全部放在一起:-) –