Teb*_*ebo 5 sql linq linq-to-sql
如果我想使用Linq-SQL,我还必须将DB Table拖到设计器表面以创建实体类.
我总是喜欢在我的应用程序中完全控制,不喜欢dotnet创建的类.
是否可以使用我自己的数据访问层实体类在Linq和DB之间提供此连接?
我怎么能完成它?
您可以使用Linq-to-SQL轻松编写自己的类 - 只需使用一些属性绘制类.
例如,这是我在我的一个项目中使用的一个非常简单的表,它可以很好地与Linq-to-SQL一起使用:
[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; }
}
Run Code Online (Sandbox Code Playgroud)
代码非常简单,特别是如果你使你的属性名称与你的表名一致(你不必).
然后你只需要一个存储库来连接数据库:
class CategoryRepository : ICategoryRepository
{
private Table<Category> categoryTable;
public CategoryRepository(string connectionString)
{
categoryTable = (new DataContext(connectionString)).GetTable<Category>();
}
}
Run Code Online (Sandbox Code Playgroud)
当然还有更多内容,但这会向您展示非常基础,一旦理解它就不难做到.这样,您可以100%控制您的类,您仍然可以利用Linq-to-SQL.
我从Pro ASP.NET MVC Framework学到了这种方法,这是一本很棒的书.
如果你想看到更多,我的所有Linq-to-SQL类都是从头开始编写的,我可以在这里浏览一个项目.
归档时间: |
|
查看次数: |
931 次 |
最近记录: |