gpt4 book ai didi

c# - NHibernate Fluent C# 映射问题

转载 作者:行者123 更新时间:2023-11-30 12:46:17 26 4
gpt4 key购买 nike

我创建我的表是这样的:

CREATE TABLE [dbo].[Users](
Id int NOT NULL IDENTITY (1,1) PRIMARY KEY,
EmailAddress varchar(255),
FullName varchar(255),
Password varchar(255),
);

我的模型是:

public class UserModel : Entity
{
public virtual string EmailAddress { get; set; }
public virtual string FullName { get; set; }
public virtual string Password { get; set; }
}

我的实体类是:

public abstract class Entity
{
public virtual int Id { get; set; }
}

我的映射类很简单,如下所示:

public class UserModelMap : ClassMap<UserModel>
{
public UserModelMap()
{
Table("Users");
Id(x => x.Id);
Map(x => x.EmailAddress);
Map(x => x.FullName);
Map(x => x.Password);
}
}

并且我包括了所有必须使用以下配置进行映射的类:

        private static void InitializeSessionFactory()
{
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(c => c.FromConnectionStringWithKey("DefalutConnection"))
)
.Mappings(m =>
m.FluentMappings
.AddFromAssemblyOf<Entity>())
.ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(true, true))
.BuildSessionFactory();
}

但是当我使用以下代码查询我的数据库时:

Session.Query<TEntity>();

在 TEntity 是我的用户模型的地方,我没有从数据库返回任何行。

我似乎无法弄清楚这里的问题是什么。

最佳答案

我会说,问题出在这里:

.ExposeConfiguration(cfg 
=> new SchemaExport(cfg).Create(true, true)) // here

因为,正如 NHibernate 所说:一切正常,没有问题,没有异常(exception)。只是 NO 数据。我会说,你一直在重新创建架构。

检查这个:

其中一个答案的摘录:

You could use SchemaUpdate, which will update the schema instead. Here's a blog post about it: http://geekswithblogs.net/dotnetnomad/archive/2010/02/22/138094.aspx

关于c# - NHibernate Fluent C# 映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713262/

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