È possibile scrivere le proprie classi in modo molto semplice utilizzando Linq-to-SQL: è sufficiente dipingere le classi con alcuni attributi.
Per esempio, questo è un tavolo molto semplice che ho in uno dei miei progetti, e funziona con LINQ to SQL bene:
[Table(Name = "Categories")]
public class Category : IDataErrorInfo
{
[Column(IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert)]
public int Id { get; set; }
[Column] public string Name { get; set; }
[Column] public string ExtensionString { get; set; }
}
Il codice è stato molto facile, soprattutto se si fanno i nomi delle proprietà si allineano con i nomi delle tabelle (non è necessario).
Poi basta un repository per la connessione al DB:
class CategoryRepository : ICategoryRepository
{
private Table<Category> categoryTable;
public CategoryRepository(string connectionString)
{
categoryTable = (new DataContext(connectionString)).GetTable<Category>();
}
}
Naturalmente c'è di più ad esso, ma questo vi mostra le basi e non è difficile da fare una volta che hai capito bene. In questo modo hai il 100% di controllo sulle tue classi e puoi ancora trarre vantaggio da Linq-to-SQL.
Ho imparato questo approccio da Pro ASP.NET MVC Framework, un libro fantastico.
Se si desidera vedere di più, tutte le mie classi Linq-to-SQL sono state scritte da zero su uno dei miei progetti è possibile cercare here.
non dimenticare 'using System.Data.Linq.Mapping;' – naspinski
La risposta precedente stava parlando di "Persistenza ignoranza". Hai problemi con questo? – Tebo
Possiamo scambiare gli e-mail? – Tebo