开发者

Sharp Architecture and Fluent NHibernate 1.1

开发者 https://www.devze.com 2023-01-06 18:30 出处:网络
I am new to this group so apologies if this has already been answered (I have had a good look). I am having a look at sharp architecture for

I am new to this group so apologies if this has already been answered (I have had a good look). I am having a look at sharp architecture for a project I'm soon to start out on.

I am experimenting with the Northwind sample, and wanted to test a self referential relationship, but discovered Fluent NHibernate 1.1 was needed (see http://support.fluentnhibernate.org/discussions/help/127-parentchild-...).

So I recompiled with version 1.1 of fluent and ran into a couple of problems with the Employee class. The first error was along the lines of FullName needs a get. I solved this with mapping.IgnoreProperty(x => x.FullName); in the EmployeeMap class.

The next issue I haven't managed to solve: Invalid column name 'Id'. I can see from the test output that NHibernate is trying to do "SELECT top 0 this_.Id " etc. However the Em开发者_StackOverflow中文版ployeeMap class maps it to EmployeeID, so would expect to see "SELECT top 0 this_.EmployeeID "

    mapping.Id(x => x.Id, "EmployeeID")
            .UnsavedValue(0)
            .GeneratedBy.Identity();

Any ideas?

Thanks ... Rich


Just for the record: I had the same problem and the problem for me was that I had added an extra Id property to my Employee class.


I made similar changes to a demo project of my own as well as the Northwind project and didn't have a problem. Did you recompile the SharpArch.dll using the new FluentNHibernate.dll?

Regards
Dan


Are you deriving your class mappings from ClassMap<>?

I've not worked with the S#, but our FnH1.1 mappings look like this:

public class EntityMap : ClassMap<Entity>
{

    public EntityMap ()
    {

        // Single table
        Table("EntityTable");

        // ID
        Id(x => x.Id, "EntityId")
            .GeneratedBy
            .HiLo("NHibernateHilo", "HighId", "1", "EntityId=1");

        // References
        References(x => x.Object, "ReferenceFieldId").Cascade.SaveUpdate();

        // Properties
        Map(x => x.PropertyName, "FieldName");

    }

}
0

精彩评论

暂无评论...
验证码 换一张
取 消