C# Nhibernate数据库优先

C# Nhibernate数据库优先,c#,nhibernate,C#,Nhibernate,一开始我会告诉你们,我对Nhibernate完全没有兴趣,但我想知道如何将Nhibernate应用到已经制作好的数据库中。数据库本身相当大(我在CPU上测试的部分是1gb)。我不太喜欢用xml进行映射。我原以为这个工具可以帮助我()但它的性能并不令人满意。那么,我应该使用代码,然后用XMLs映射它,还是我可以使用的其他方法?我知道有两种选择: :流畅、无XML、编译安全、自动化、基于约定的NHibernate映射 :使用NHibernate.Mapping.Attributes,可以使用.NE

一开始我会告诉你们,我对Nhibernate完全没有兴趣,但我想知道如何将Nhibernate应用到已经制作好的数据库中。数据库本身相当大(我在CPU上测试的部分是1gb)。我不太喜欢用xml进行映射。我原以为这个工具可以帮助我()但它的性能并不令人满意。那么,我应该使用代码,然后用XMLs映射它,还是我可以使用的其他方法?

我知道有两种选择:

  • :流畅、无XML、编译安全、自动化、基于约定的NHibernate映射
  • :使用NHibernate.Mapping.Attributes,可以使用.NET属性装饰实体,这些属性将用于生成映射信息

除非您对
NHibernate
有要求,否则我强烈推荐
Dapper
,特别是如果您关心的是性能的话。对于
CRUD
您可以查看
Dapper Contrib或Dapper Rainbow


除了上述两个插件之外,NHibernate还内置了对“代码映射”的支持。不需要XML。我需要通过代码进行第二次映射。xml具有同样的灵活性,但意味着更快,因为在会话工厂启动时不需要解析xml映射。如果我没记错的话,Fluent在封面下动态创建xml,这样sessionfactory启动就不会那么快了。还有一个很好的代码映射资源,fluent在这里可以
Dapper Contrib
Dapper Rainbow
从现有数据库生成模型?Dapper可能更好,也可能更好,这确实是一个基于意见的讨论,而不是StackOverflow问题。但无论如何,这个问题是关于NHibernate的,所以这不是一个答案。