2011-08-15 2 views
0

В последнее время я попытался использовать CodeFirst, и мне интересно. Я использовал CF для генерации db (MyDB.mdf), затем я удалил таблицу (Категория) в SQL Server. Затем, когда я пытался воссоздать новую таблицу, CF не создавал новую таблицу в моей базе данных. Вот мой кодГенерация кода CodeFirst

public class Product 
{   
    public int prodID { get; set; }   
    public int catID { get; set; } 
    public string prodName { get; set; }   
    public Double Price { get; set; } 

    public virtual Category Categories { get; set; } 
} 

public class Category 
{   
    public int catID { get; set; } 
    public string catName { get; set; } 

    public virtual ICollection<Product> Products { get; set; } 
} 

public class MyDB : DbContext 
{ 
    public DbSet<Product> Products { get; set; } 
    public DbSet<Category> Categories { get; set; } 
} 

А вот это моя строка соединения так CF может генерировать БД к моему SQL Server

<add name="MyDB" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True" providerName="System.Data.SqlClient"/> 

Я не использую SQLCE базы данных б/CI не может открыть его

Любые решения.

Благодаря

ответ

0

вам нужно добавить

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourContext>()); 

методу запуска приложения в файле global.asax EF4 Code First create new table

+0

Да, я читал об этом, но это падение или удалить старой базы данных и создать новую. Это проблема. Я хочу сохранить свои данные. Я нашел решение: когда CF генерирует базу данных, в базе данных будет создано имя таблицы dbo.EdmMetadata. Если я удалю эту таблицу, я могу изменить базу данных. Но я должен переопределить сущности и базу данных, а также вручную. Это кажется не лучшим решением. –

+0

Вы прочитали мою ссылку. Теперь EF имеют SqlMigrations http://www.hanselman.com/blog/EntityFrameworkCodeFirstMigrationsAlphaNuGetPackageOfTheWeek10.aspx для этого. –

+0

Прости, я пропустил это. Я установил SqlMigrations и получил ошибку при выполнении обновления базы данных. Я нашел ваше сообщение http://stackoverflow.com/questions/7020928/entity-framework-code-first-sql-migrations-error-could-not-load-type-system-dat. Как ты это починил? –

Смежные вопросы