我有两个类和两个映射图标,当我CreatingSchema我的NHibernate在我的SQLite数据库上创建一个随机ID外键时,我的代码中没有ID,我不知道它是从哪里来的。
2.Class
public class TemaFesta
{
public TemaFesta()
{
}
public virtual int Codigo { get; set; }
public virtual string Descricao { get; set; }
public virtual ISet<Locacoes> Locacoes { get; set; }
}
}抱歉的。我不能在这里张贴我的映射代码,所以我没有显示它,所以我发布了图片1.映射第一映射 2.映射Mapping2
然后,我的SQlite创建语句
CREATE TABLE Locacoes (Codigo integer primary key autoincrement, Data TEXT, DataFesta TEXT, HoraInicio TEXT, HoraFim TEXT, TipoEspaco INT, NomeCelebrante TEXT, Cep TEXT, Endereco TEXT, Complemento TEXT, Bairro TEXT, Cidade TEXT, Uf TEXT, Fone TEXT, Obs TEXT, Desconto DOUBLE, ValorTotal DOUBLE, CodTemaFesta INT, id INT, constraint FK1C57939D5747171D foreign key (CodTemaFesta) references TemaFesta, constraint CodTemaFesta foreign key (id) references TemaFesta)“约束CodTemaFesta外键(id)引用TemaFesta)”我没有它,那么为什么nhibernate要创建它呢?
发布于 2016-09-19 17:18:03
这里没有随机发生的事情。
问题是“集合”映射。
您正在声明一个外键=“CodTemaFesta”,然后使用CreateSchema语句生成它。我不确定您想要创建这个db外键,但这就是您声明的。
如果您只是在代码中映射它,您需要给它一个像下面这样的列名
<key column="<column-name>" />https://stackoverflow.com/questions/39547285
复制相似问题