2014-10-27 3 views
4

Вечер, Я уверен, что это, вероятно, довольно просто ... но Im делает что-то неправильно.Entity Framework Code сначала с моделями в другом проекте

Я пытаюсь создать решение с 3 (на данный момент) проекты:

  1. MCV Web App
  2. Модели
  3. ВВЛ (Entity Framework)

Я хочу, чтобы сохранить модели в другом проекте/сборке из пользовательского интерфейса и DAL, потому что модели будут повторно использоваться между проектами, и мы, возможно, захотим поменять DAL и т. д., не связываясь с моделями и т. д.

В любом случае, на проблему.

Я создал несколько классов в моем проекте модели, как:

public class Client 
{ 
    public int ClientID { get; set; } 
    public string Name { get; set; } 
    public string Address { get; set; } 
    public string PhoneNumber { get; set; } 
    public string Notes { get; set; } 
    public virtual Contact BillingContact { get; set; } 
    public virtual ICollection<Contact> Contacts { get; set; } 

    public virtual ICollection<Invoice> Invoices { get; set; } 
} 

Я тогда создал DbContext в DAL

using System.Data.Entity; 
using DBDS.Invoice.Models; 

namespace DBDS.Invoice.DAL.EF 
{ 
    public class InvoiceDataContext : DbContext 
    { 
     public DbSet<Client> Clients; 
    } 
} 

Я позволил миграции по проекту DAL, Добавленный миграции и называется базой обновлений - база данных была создана, но без таблиц NO.

В любом случае, я уверен, что Im будет плотным - любая помощь будет оценена.

Благодаря

+1

Я считаю, что ваш '' клиенты должны быть свойством с '{получить; задавать; } вместо поля. т. е .: 'public DbSet Клиенты {get; задавать; } ' – DLeh

+0

HAHA, вы знаете, что бит, где я сказал, я уверен, что я делаю что-то плотное ?! Двое из нас посмотрели на этот код и не заметили этого ... Его простые и очевидные вещи, которые наиболее трудно обнаружить! Спасибо! – D3vy

+0

Я отвечу как ответ – DLeh

ответ

6

Clients должен быть свойством для Entity Framework, чтобы забрать его

public class InvoiceDataContext : DbContext 
{ 
    public DbSet<Client> Clients { get; set; } 
} 
+0

Сказал вам, что я был плотным! Спасибо за помощь. – D3vy

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