FluentNHibernate: неверное имя объекта в SaveOrUpdate - PullRequest
1 голос
/ 07 апреля 2009

Я пытаюсь запустить FluentNHibernate.

Когда я пытаюсь добавить объект сущности в базу данных, я получаю сообщение об ошибке «Недопустимое имя объекта« Рецепт »во внутреннем исключении, и это основное исключение

не удалось вставить: [OurRecipes.Domain.Recipe] [SQL: INSERT INTO Recipe (EnteredByID, ModifiedOn, Method, PrepTime, CookTime, RecipeTitle) VALUES (?,?,?,?,?,?); выберите SCOPE_IDENTITY ()]

Вот как я его настраиваю.

public static ISessionFactory Create()
    {
        return Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2005
            .ConnectionString(c => c.Is("Server=(local);initial catalog=OurRecipesDB;Integrated Security=SSPI")))
            .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Recipe>())
            .BuildSessionFactory();
    }

Это мой первый опыт, так что ...

Кажется, он не распознает класс "Рецепт" в моем проекте домена, хотя эта конфигурация работает без ошибок.

Это код, где я получаю сообщение об ошибке в строке SaveOrUpdate.

        var factory = SessionFactoryCreator.Create();

        using (var session = factory.OpenSession())
        {

            Recipe rec = new Recipe();
            rec.RecipeTitle = "test";
            rec.Method = "test";
            rec.PrepTime = 10;
            rec.CookTime = 20;
            rec.EnteredByID = 1;
            rec.ModifiedOn = DateTime.Now;

            session.SaveOrUpdate(rec);

}

РЕДАКТИРОВАТЬ: Извините, ребята, имя таблицы SQL Рецепты ..... Ну, здесь уже поздно!

1 Ответ

2 голосов
/ 07 апреля 2009

Как выглядит ваше отображение рецепта? Держу пари, что вы не определили имя таблицы. Ваш класс отображения должен выглядеть примерно так:

public class RecipeMap : ClassMap<Recipe>
{
    public RecipeMap()
    {
        SchemaIs("dbo");
        WithTable("Recipes");
        [... additional mappings ...]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...