J'ai une relation parent-enfant classique que je voudrais CRUD en utilisant asp:GridView
contrôles. Pour CRUD le parent est facile, mais le défi est d'imbriquer un asp:GridView
dans un asp:GridView
qui est capable de travailler sur la relation enfant.Comment créer un GridView imbriqué pour éditer le code EF Première relation?
Pour faciliter le problème, j'ai construit un exemple. Considérez ce qui suit EF-code:
public class Context : DbContext
{
public DbSet<Animal> Animals { get; set; }
public DbSet<Tag> Tags { get; set; }
}
public class Animal
{
public int AnimalID { get; set; }
public string Name { get; set; }
public virtual IEnumerable<Tag> Tags { get; set; }
}
public class Tag
{
public int TagID { get; set; }
public string Name { get; set; }
}
J'utilise un asp:Gridview
pour afficher/modifier les Animal
objectes:
<asp:GridView runat="server" DataSourceID="animalDataSource" DataKeyNames="AnimalID" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:CommandField ShowCancelButton="true" ShowEditButton="true" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
Le DataSource
est lié avec le code derrière:
protected void DataSource_ContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e)
{
var context = new Context();
e.Context = ((IObjectContextAdapter)context).ObjectContext; }
}
Je voudrais inclure un asp:Gridview
imbriqué comme l'une des colonnes à ajouter/supprimer/éditer Tag
objets qui appartiennent à ce Animal
. Comment pourrais-je y parvenir?
Connexes: http://stackoverflow.com/questions/6341383/how-to-create-a-nested-gridview-to-edit-ef-code-first-relation-of-ienumerablet –