我的印象是,在使用nHibernate时,在创建映射xml文件等之后,所有用于基本CRUD操作的管道都会与类文件一起完成,即
。public class Employee
{
public virtual string Name {get; set; }
}
但我在这里肯定是错的,因为似乎没有生成任何内容,或者在第一页加载时构建会话/配置时是否在内部生成?
答案 0 :(得分:1)
我们首先创建类文件,然后创建映射,然后生成db。
直接使用映射属性使这种风格(IMO更容易) 代码看起来非常像这样:
public class Base {
[Id(..., Column="{{Id.Column}}")]
[AttributeIdentifier(Name="Id.Column", Value="ID")] // Default value
public int Id { ... }
}
[AttributeIdentifier(Name="Id.Column", Value="SUB_ID")]
[Class] public class MappedSubClass : Base { }
我认为生成的db模型与我从db设计开始时有点不同 - 但我对结果感到满意。
如果要将很多类相互嵌套,请确保延迟加载。
答案 1 :(得分:1)
我不相信nHibernate会为你生成类,但你可以使用CodeSmith或LLBLGen的下一个版本为你生成它们。
查看hibernates网站的“有用工具”部分,了解一些可能有用的工具。其中一些将生成映射和类文件。您可以尝试其中一个,只将类文件作为您的类的基础。
答案 2 :(得分:1)
There is a tool to generate classes(我认为只有java),但我建议你自己编写这些类。这是您的域类,您应该特别注意它们。它不像类型化的记录集或只用于数据库交互的东西。
另一方面,the tool that creates the db schema是值得推荐的。
答案 3 :(得分:0)
据我所知,NHibernate不会为你创建类。我在这方面遇到的两个非常好的工具是
MyGeneration - 免费
CodeSmith - 许可。
抱歉,由于stackoverflow中的一些限制,无法添加超链接。