0
我試圖用自動映射爲MySQL配置流利NHibernate和我遇到了問題。我搜索了很多,嘗試了很多不同的東西,但還沒有找到解決方案。流利的NHibernate與MySQL的單聲道和ASP MVC 3
總之,這裏是我的NHibernate的配置
return
Fluently.Configure()
.Database(
MySQLConfiguration.Standard.ConnectionString(cs => cs.FromConnectionStringWithKey("Db"))
.Dialect<NHibernate.Dialect.MySQL5Dialect>()
.ShowSql()
)
.Mappings(
x =>
x.AutoMappings
.Add(
FluentNHibernate.Automapping.AutoMap.AssemblyOf<CoreRegistry>()
.Where (t => t.IsDefined(typeof(AutoMap), false))
.Conventions.Setup (c => {
c.Add<NullConvention>();
c.Add<PrimaryKeyConvention>();
c.Add<TableNameConvention>();
})
)
).BuildSessionFactory();
這裏是我的模型:
[AutoMap]
public class MyNewTable
{
public virtual int Id {get; set;}
public virtual string Column1 {get; set;}
[Null]
public virtual string Column2 {get; set;}
}
這裏是我的代碼試圖插入記錄:
using (var session = sf.OpenSession())
using (var tx = session.BeginTransaction()) {
var myReallyTable = new MyNewTable
{
Column2 = null,
Column1 = "ghrtehrthrtete"
};
session.Save (myReallyTable);
tx.Commit();
}
最後,這裏是sql它實際上是生成的:
INSERT INTO myproject.Core.MyNewTable, myproject.Core, Version=1.0.4911.33346, Culture=neutral, PublicKeyToken=null (Column1, Column2) VALUES (?, ?)
出於某種原因,這是我的表名前注入我的項目的組裝名,後面還附加程序集的版本和東西。我已經嘗試將默認模式設置爲我的數據庫名稱。我嘗試將方言切換到MySQLDialect,但這也不起作用。
如果任何人有任何光線照在此,我會非常感激。
謝謝