in teoria le Dynamic Data sono pensate per sezioni ADMIN, quindi (sempre in teoria) non hanno la necessità di nascondere alcune tebelle piuttosto che altre.
Potresti adottare 2 soluzioni diverse:
1 - Creare 2 progetti Linq2Entities diversi, uno per gli Admin, uno per gli altri utenti, dove puoi mettere solo le tabelle che ti interessano
2 - Personalizzare i controlli standard di Dynamic Data
per fare questo dovresti:
a - mettere a false la voce ScaffoldAllTables nel file global.asax del tuo progetto web Dynamic Data
model.registerContext (
typeof(SampleDBDataContext),
new ContextConfiguration()
{
ScaffoldAllTables=false
});
b - Creare una classe nel progetto Linq2Entities.Data per ogni tabella da voler visualizzare
[Scaffoldtable(true)]
public partial class <nomeDellaClasseLinqContext>
{ }
c - Creare i metaDataType per gli attributi da voler personalizzare per nascondere quelli che non interessano
[Scaffoldtable(true)]
[MetadataType(typeof(<Nomedellaclasse>Metadata))]
public partial class <nomeDellaClasseLinqContext>
{ }
public class <Nomedellaclasse>Metadata
{
[ScaffoldColumn(false)]
public object property1
[ScaffoldColumn(false)]
public object property2
[ScaffoldColumn(false)]
public object property3
}
d - modificare/fare override dei controlli/pagine.
Copia ad esempio il controllo /DynamicData/PageTemplates/List.aspx dentro /DynamicData/CustomPages/<nomeDellaCollectionLinq/List.aspx
esempio, se nel tuo database hai una tabella "Contact", e nelle entities hai "Contacts":
/DynamicData/CustomPages/Contacts/List.aspx.
A questo punto puoi modificare a piacere la nuova List.aspx (occhi al NameSpace)
Ciao, fammi sapere
____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.