Получение данных из базы данных PostgreSQL с использованием SharpLite - PullRequest
0 голосов
/ 05 марта 2012

Проблема в том, что мое MVC-приложение хорошо подключается к моей базе данных, но когда я запрашиваю его, оно ничего не возвращает («var model» пусто), и я не знаю, в чем проблема. Я использую SharpLiteВ этом шаблоне уже реализованы автоматические сопоставления, и он подключается к моей базе данных с помощью NHibernate. Я уже реализовал сущность «Пользователь» в «MyProject.Domain». Вот код моего контроллера пользователя:

private readonly IRepository<User> _repository; 
    public UserController(IRepository<User> repository)
    {
        _repository = repository;
    }
public ActionResult Index()
    {
        var model = _repository.GetAll();
        return View(model);
    }

Иэто код из инициализатора NHibernate:

public static Configuration Initialize() 
    {
        var configuration = new Configuration();

        configuration
            .Proxy(p => p.ProxyFactoryFactory<DefaultProxyFactoryFactory>())
            .DataBaseIntegration(db => {
                db.ConnectionStringName = "MyProjectConnectionString";
                db.Dialect<PostgreSQL82Dialect>();
            })
            .AddAssembly(typeof(ActionConfirmation<>).Assembly)
            .CurrentSessionContext<LazySessionContext>();

        var mapper = new ConventionModelMapper();
        mapper.WithConventions(configuration);

        return configuration;
    }

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

Убедитесь, что ваша User сущность наследует Entity

0 голосов
/ 05 марта 2012

Вы хотите увидеть выписки, отправленные в базу данных, вместе с результатами. Попробуйте один из следующих способов:

  • Самый простой способ, который я нашел, это использовать NHibernate Profiler . Это платный продукт.
  • Настройка NHibernate для записи операторов SQL с использованием log4net .
  • Настраиваемый вывод в Trace, Debug или в другое место, где вы хотите, используя перехватчик

Я не знаю достаточно о проблеме, чтобы точно определить ошибку.

...