我阅读了教程 http://wiki.fluentnhibernate.org/Auto_mapping#Getting_started
但我无法理解如何访问表格?
我没有给出任何命名召集,那么映射是如何完成的?
在hbm.xml
中,有一个声明:
<class name="Cat" table="Cat">
但是流利的却没有。
答案 0 :(得分:0)
如果您正在使用ClassMap,请使用Table声明:
public class ExampleMap : ClassMap<Example>
{
public ExampleMap()
{
Table("MyExampleTable");
Id(a => a.Id).GeneratedBy.Identity();
}
}
如果您使用的是AutoMapping,请参阅http://wiki.fluentnhibernate.org/Auto_mapping上的文档,了解如何设置替换
答案 1 :(得分:0)
您绝对可以在映射器中指定表名。但是如果你有兴趣知道它是如何自动映射的,那么你需要知道Fluent NHibernate的约定。
阅读有关约定的this章节。
答案 2 :(得分:0)
通过流利,您将在一个班级中映射您的表格。例如:
using FluentNHibernate.Mapping;
namespace Models.Mapping
{
public class CustomerMap : ClassMap<Customer>
{
public CustomerMap()
{
Table("Customer");
Id(customer => customer.Id);
Map(customer => customer.Name).Column("client_name").Not.Nullable();
Map(ssc => customer.ssc).Column("social_security_numer");
References(customer => customer.User);
}
}
}
这只是展示如何映射你的表格。你可以看到它非常简单。您将不再使用hbm.xml进行映射,并记得注册您的映射,如:
ISessionFactory SessionFactory = Fluently.Configure(configuration).Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<CustomerMap>();
}).BuildSessionFactory();
只是一个简单的例子,你可以在流利的参考资料中找到更多。