Mit Linq-to-SQL können Sie ganz einfach Ihre eigenen Klassen schreiben - Sie müssen nur Ihre Klassen mit einigen Attributen versehen.
Zum Beispiel ist dies eine sehr einfache Tabelle, die ich in einem meiner Projekte habe, und es funktioniert mit Linq-to-SQL einfach gut:
[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; }
}
Der Code war sehr einfach, vor allem, wenn Sie Ihre Eigenschaftsnamen mit den Tabellennamen übereinstimmen lassen (das müssen Sie nicht).
Dann brauchen Sie nur noch ein Repository, um sich mit der DB zu verbinden:
class CategoryRepository : ICategoryRepository
{
private Table<Category> categoryTable;
public CategoryRepository(string connectionString)
{
categoryTable = (new DataContext(connectionString)).GetTable<Category>();
}
}
Natürlich gibt es noch mehr, aber dies zeigt Ihnen die Grundlagen und es ist nicht schwer, wenn Sie es einmal verstanden haben. Auf diese Weise haben Sie 100 % Kontrolle über Ihre Klassen und können trotzdem die Vorteile von Linq-to-SQL nutzen.
Ich habe diesen Ansatz von Pro ASP.NET MVC-Framework ein großartiges Buch.
Wenn Sie mehr sehen wollen, alle meine Linq-to-SQL-Klassen wurden von Grund auf in einem meiner Projekte geschrieben, die Sie durchsuchen können ici .