标签: fluent-nhibernate

使用FluentNhibernate的SchemaExport

这段代码有什么问题吗?我没有得到任何生成,也没有抛出异常.

  public static void ExportSchema()
        {
            Configuration cfg = LoadDefaultConfiguration();
            Fluently.Configure(cfg)
                .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.Load("dnnSphere.Meta")))
                .ExposeConfiguration(c => new SchemaExport(c).SetOutputFile("myDDL.sql").Execute(true,true,false));
        }
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate schemaexport

1
推荐指数
1
解决办法
3751
查看次数

不需要的NHibernate更新命令

我有以下课程

public class Contact
{
    public Contact() {
        Addresses = new List<Address>();
        EmailAddresses = new List<EmailAddress>();
        PhoneNumbers = new List<PhoneNumber>();
    }
    public virtual int ContactID { get; private set; }
    public virtual Firm Firm { get; set; }
    public virtual ContactType ContactType { get; set; }
    public virtual string FullName { get; set; }
    public virtual string FiscalCode { get; set; }
    public virtual string Notes { get; set; }
    public virtual ContactRole ContactRole { get; set; }

    public virtual …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-mapping fluent-nhibernate

1
推荐指数
1
解决办法
297
查看次数

流利的NHibernate新手:Row被另一个交易更新或删除

我正处于使用Fluent NHibernate构建数据库的早期阶段.我在ASP.NET MVC 3中实现了一个工作单元模式,让NHibernate为我更新我的数据库模式.为了插入/更新我的初始数据,我有一个Database控制器,其中一个Update操作尝试将SaveOrUpdate(...)一个User实体(管理员用户)放入Users表中.

通过Visual Studio手动删除所有用户记录并重新运行我的Update操作以重新填充Users表后,我收到以下NHibernate.StaleObjectStateException异常:

Row was updated or deleted by another transaction (or unsaved-value mapping was
incorrect): [Invoicer.Data.Entities.User#3105248d-ca91-4c64-bf8f-9ebb017943b7]

Line 26:        {
Line 27:            if (_transaction.IsActive)
Line 28:                _transaction.Commit();
Line 29:        }
Run Code Online (Sandbox Code Playgroud)

注意:保存或更新的用户ID是Guid,其值大于(3105 ...).

我究竟做错了什么?

sql-server fluent-nhibernate asp.net-mvc-3

1
推荐指数
1
解决办法
9717
查看次数

流畅NHibernate中的地理空间点映射

我很难让Fluent NHibernate在SQL Server的地理空间类型中发挥出色.我想在我的Place类中存储一个地理点,但是当我运行ASP.NET MVC应用程序时,我不断收到NHibernate配置错误:

Method 'SetParameterValues' in type 'NHibernate.Spatial.Type.GeometryType' from
assembly 'NHibernate.Spatial, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null' does not have an implementation.
Run Code Online (Sandbox Code Playgroud)

更新:这是由过时的NHibernate.Spatial DLL引起的.引用最新版本(2.2+)可以解决问题.感谢psousa带领我找到解决方案.

Place 类:

using System;
using GisSharpBlog.NetTopologySuite.Geometries;
using NHibernate.Validator.Constraints;

namespace MyApp.Data.Entities
{
    public class Place
    {
        public virtual Guid Id { get; set; }
        public virtual string Name { get; set; }
        public virtual Point Location { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

流利的Place映射:

using MyApp.Data.Entities;
using FluentNHibernate.Mapping;
using NHibernate.Spatial.Type;

namespace MyApp.Data.Mappings
{
    public class …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc spatial fluent-nhibernate sql-server-2008

1
推荐指数
1
解决办法
2000
查看次数

流利的Nhibernate 3映射复合字段(自定义类型)

好吧,我的情景

public class Permission
{
    public virtual Function Function { get; set; }
    public virtual Profile Profile { get; set; }
}

public class MapPermission : ClassMap<Permission>
{
    public MapPermission()
    {
        Table("Permissions".ToUpper());
        CompositeId().KeyProperty(x => x.Function, "FunctionID").KeyProperty(x => x.Profile, "ProfileID");

    }
}
Run Code Online (Sandbox Code Playgroud)

其中Function AND Profile是两个简单映射的实体.当我运行我有这个错误:

无法确定类型:Data.Model.Entities.Function,Data.Model,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null,对于列:NHibernate.Mapping.Column(FunctionID)"}

有办法避免这种情况吗?最终我需要创建一个由两个自定义映射类构成的CompositeID类.如果我将compositeID与int字段一起使用,它就像魅力一样

提前致谢

功能(如配置文件)映射

public class Function
{
    public virtual int ID { get; set; }
    public virtual string Name { get; set; }
}

public class MapFunction : ClassMap<Function> …
Run Code Online (Sandbox Code Playgroud)

fluent-nhibernate composite-id custom-type

1
推荐指数
1
解决办法
1232
查看次数

带byte []参数的NHibernate ISQLQuery引发错误

因此,我正在尝试使用nhibernate调用保存图像的存储过程。我的问题是查询失败,并显示以下错误:

byte []值的长度超过在映射/参数中配置的长度。

这是我将参数附加到的地方ISQLQuery。参数为Dictionary<string, object>

public void Execute()
{

    string sql = BuildSprocDefinition();
    var query = Session.CreateSQLQuery(sql);

    foreach (var parameter in Parameters)
    {
        if (parameter.Value is int)
            query.SetParameter<int>(parameter.Key, (int)parameter.Value);
        else if (parameter.Value is long)
            query.SetParameter<long>(parameter.Key, (long)parameter.Value);
        else if (parameter.Value is bool)
            query.SetParameter<bool>(parameter.Key, (bool)parameter.Value);
        else if (parameter.Value is byte[])
            query.SetBinary(parameter.Key, (byte[])parameter.Value);
        else
            query.SetParameter(parameter.Key, parameter.Value);
    }

    using (var tx = Session.BeginTransaction())
    {
        query.ExecuteUpdate();
        Session.Flush();
        tx.Commit();
    }
}

protected string BuildSprocDefinition()
{
    StringBuilder sql = new StringBuilder(String.Format("exec {0} ", …
Run Code Online (Sandbox Code Playgroud)

nhibernate bytearray fluent-nhibernate isqlquery

1
推荐指数
1
解决办法
1540
查看次数

抽象类和Fluent Nhibernate

我的域名有一个名为Car的对象.它有几个属性

public abstract class Car : ICar
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Model { get; set; }
    public string Color { get; set; }
    public abstract string Drive();
}
Run Code Online (Sandbox Code Playgroud)

它实现了接口ICar

public interface ICar
{
    string Color { get; set; }
    int Id { get; set; }
    string Model { get; set; }
    string Name { get; set; }
    string Drive();
}
Run Code Online (Sandbox Code Playgroud)

现在我希望有两种继承类型.他们继承了Car,并实施了ICar.

class SportCar: Car, ICar
{
    public …
Run Code Online (Sandbox Code Playgroud)

c# oop inheritance interface fluent-nhibernate

1
推荐指数
1
解决办法
2816
查看次数

FluentNhibernate - 试图在添加时添加多对一的"文档"

我没有得到我的映射代码,总是出现相同的错误:当我启动应用程序创建表时,它显示以下错误

尝试在添加时添加多对一的"文档".

这是我的代码:

   public class DocTypes
        {
            public virtual Int16 Id { get; private set; }
            public virtual IList<Documents> Documents { get; set; }        
        }


   public class Documents
        {
            public virtual Int64 Id { get; private set; }
            public virtual DocTypes DocType { get; set; }
            public virtual IList<Files> Files { get; set; }
            public virtual IList<Fields> Fields { get; set; }               
        }
 public class Fields
    {

        public virtual Int32 Id { get; private set; }
        public virtual Documents Document …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate fluent-nhibernate hibernate-mapping

1
推荐指数
1
解决办法
1420
查看次数

NHibernate查询不区分大小写

我正在使用QueryOverislike从oracle db获取记录,但我想要不区分大小写

orgs = session.QueryOver<V_CM_ORG_GET>()
   .SelectList(list => list
       .SelectGroup(c => c.ORG_ID).WithAlias(()=>or.ORG_ID)
   .SelectGroup(c => c.ORG_NAME).WithAlias(() => or.ORG_NAME)
   .SelectGroup(c => c.PHONE).WithAlias(() => or.PHONE))
   .Where(Restrictions.On<V_CM_ORG_GET>(y=>y.ORG_NAME)
       .IsLike(query,MatchMode.Anywhere))
   .TransformUsing(Transformers.AliasToBean<OrgsObj>())
   .List<OrgsObj>();
Run Code Online (Sandbox Code Playgroud)

nhibernate asp.net-mvc fluent-nhibernate

1
推荐指数
1
解决办法
1545
查看次数

使用NHibernate和FluentNHibernate创建数据库和表?

我正在寻找任何方式创建databasetables与NHibernate和FluentNHibernate。

我该怎么办?

试。

private static ISessionFactory createConnection()
{
    if (session != null)
        return session;

    //database configs
    FluentConfiguration _config = Fluently.Configure().Database(
        MySQLConfiguration.Standard.ConnectionString(
            x => x.Server(HOST).
            Username(USER).
            Password(PASSWORD).
            Database(DB)
        ))
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<PerfilMap>())
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<ModuloMap>())
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<PermissaoMap>())
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<UsuarioMap>())
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<CategoriaMap>())
        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<SubcategoriaMap>    ())
        .ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true));

    session = _config.BuildSessionFactory();
    return session;
}
Run Code Online (Sandbox Code Playgroud)

c# nhibernate fluent-nhibernate

1
推荐指数
1
解决办法
2778
查看次数