Измените схему схемы базы данных Entity Framework после первого использования кода - PullRequest
1 голос
/ 18 февраля 2012

Я закончил создание своего блога с использованием EF и Code First.

EF работал на моем локальном экземпляре SQL Express со схемой [DBO].

Теперь я хочу опубликовать блог и я сделал следующее :

  1. Генерация сценариев для таблиц и всех объектов из SQL Express и замена [dbo] на мой [администратор] схема с моего сервера.
  2. Запустил сценарии на сервере.Никаких проблем, все объекты были созданы просто отлично.
  3. Я изменил Webconfig и добавил строку подключения BlogContext, чтобы указать на сервер, а не локальный sql express.
  4. Опубликовал сайт.

Ошибка, которую я получаю: Неверное имя объекта 'dbo.Articles'. - где Articles - одна из моих сущностей.Он находится на моем сервере sql, [Administrator].Articles.

Насколько я могу судить, EF все еще думает, что я использую схему DBO.Хотя я добавил строку подключения, указывающую на пользователя-администратора.

Как мне изменить схему, которую EF считает необходимой для использования?

Ответы [ 2 ]

3 голосов
/ 18 февраля 2012

EF будет использовать схему dbo, если вы не настроили схему явно через аннотации данных или свободный API.

[Table("MyTable", "MySchema")]
public class MyEntity
{

}

Или

modelBuidler.Entity<MyEntity>().ToTable("MyTable", "MySchema");
0 голосов
/ 17 марта 2014

Только для искателей: я просто работаю с EF5 .NET4.5 и

[Table("MyTable", "MySchema")]

не работает. Даже если VS2012 показывает, что существует перегрузка, которая принимает 2 параметра, при сборке она выдает ошибку: «System.ComponentModel.DataAnnotations.Schema.TableAttribute» не содержит конструктор, который принимает 2 аргумента.

Но отображение кода работает просто отлично.

...