2010-02-04 4 views
1

En utilisant une base de données très courante, avec l'identité int pour les clés primaires, un projet d'entités de données dynamiques (EntityFramework) affiche la clé primaire pour voir et éditer. Lorsque vous utilisez Linq to Sql, les champs de clé primaire ne sont pas affichés. Je voudrais cacher les clés primaires et utiliser Entity Framework (VS 2008, .Net 3.5 sp1). merciASP.Net Dynamic Data IS affiche mes clés primaires pour chaque table lors de l'utilisation d'entités

Répondre

2

Utilisez ScaffoldColumnAttribute pour ne pas échafauder une colonne.

Vous aurez besoin de personnaliser la génération de code (plus facile dans EF 4) ou d'utiliser une classe buddy pour cela.

[MetadataType(typeof(MyEntity_Metadata))] 
public partial class MyEntity 
{ 
} 

public class MyEntity_Metadata 
{ 
    [ScaffoldColumn(false)] 
    public int Id { get; set; } 
} 
+1

Il existe une troisième option; câblage de votre propre convention basée AssociatedMetadataTypeTypeDescriptionProvider. http://mattberseth.com/blog/2008/08/dynamic_data_and_custom_metada.html – jfar