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是微不足道的,但可以將它們全部放在一起:-) –