Я работаю над приложением mvc3.0, используя сначала код EF и леса mvc.В настоящее время я застрял во многих отношениях между сущностями.У меня есть следующая модель.
namespace BigApp.Models {
#region POCO Objects
public class Group
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreatedOn { get; set; }
public DateTime UpdatedOn { get; set; }
public virtual ICollection<Project> Projects { get; set; }
}
public class Project
{
public int Id { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public DateTime CreatedOn { get; set; }
public DateTime UpdatedOn { get; set; }
public bool isFeatured { get; set; }
public bool isDisabled { get; set; }
public int GroupId { get; set; }
public virtual Group Group { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreatedOn { get; set; }
public DateTime UpdatedOn { get; set; }
public virtual ICollection<Project> Projects { get; set; }
}
public class Attachment
{
public int Id { get; set; }
public DateTime CreatedOn { get; set; }
public DateTime UpdatedOn { get; set; }
public int ProjectId { get; set; }
public virtual Project Project { get; set; }
}
public class BigAppContext : DbContext
{
// You can add custom code to this file. Changes will not be overwritten.
//
// If you want Entity Framework to drop and regenerate your database
// automatically whenever you change your model schema, add the following
// code to the Application_Start method in your Global.asax file.
// Note: this will destroy and re-create your database with every model change.
//
// System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<BigApp.Models.BigAppContext>());
public DbSet<BigApp.Models.Group> Groups { get; set; }
public DbSet<BigApp.Models.Project> Projects { get; set; }
public DbSet<BigApp.Models.Tag> Tags { get; set; }
public DbSet<BigApp.Models.Attachment> Attachments { get; set; }
}
#endregion
}
Вы можете заметить отношения многие ко многим между тегами и проектами и отношения один ко многим между проектом и группой.После создания лесов для моих контроллеров и представлений у меня есть следующая база данных, созданная для меня на основе моей модели.
http://i.stack.imgur.com/v10oO.jpg
Все операции crud работают нормально, за исключением связи между многими и многими проектами и тегами.Проверьте интерфейс создания проекта, указанный ниже.
http://i.stack.imgur.com/Lzp3j.jpg
Все, что я хочу, - это список, в котором отображаются все мои теги.Какие изменения я должен сделать.Нужно ли обновлять мою модель проекта?или ввести ProjectViewModel, который содержит все теги, а затем передал его на мой взгляд?
Исходный код можно найти по адресу github.com/najamsk/BigApp
Спасибо.Жду ответов.