gpt4 book ai didi

mysql - 流畅的 NHibernate 与 MySQL、Mono 和 ASP MVC 3

转载 作者:行者123 更新时间:2023-11-29 13:48:30 25 4
gpt4 key购买 nike

我正在尝试使用 MySQL 自动映射来配置 Fluent NHibernate,但遇到了问题。我用谷歌搜索了很多并尝试了很多不同的方法,但还没有找到解决方案。

无论如何,这是我的 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 (?, ?)

由于某种原因,它在我的表名称之前注入(inject)我的项目的程序集名称,并在其后面附加程序集版本和内容。我尝试将默认架构设置为我的数据库名称。我尝试将方言切换为 MySQLDialect,但这也不起作用。

如果有人对此有任何启发,我将非常感激。

谢谢

最佳答案

好吧,我会回来证明我是个 SCSS 。

我有一个表名称约定,它使用instance.Name而不是instance.EntityType.Name。哦,好吧,如果有人想知道如何使用 MySQL 进行 AutoMap,至少这篇文章会在这里。 :D

关于mysql - 流畅的 NHibernate 与 MySQL、Mono 和 ASP MVC 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com