回答

收藏

是否可以在不拖放的情况下使用Linq-SQL?

技术问答 技术问答 177 人阅读 | 0 人回复 | 2023-09-14

如果要使用Linq-SQL,还必须将DB Table拖到设计器表面创建实体类。5 q6 @0 G# P8 |
我一直喜欢我在应用程序中的完全控制,也不喜欢dotnet创建的类。
$ U/ C, J3 P8 ~$ j我自己的数据访问层实体类能否使用?Linq和DB提供此连接?8 F3 c+ D  R0 n+ `
我该怎么办?8 g; Z, T3 J! g
                                                                . Z3 S# |# k: S  h4 X
    解决方案:                                                                . Y) J1 g5 H+ }/ ]: @5 \/ K
                                                                您可以使用Linq-to-SQL写自己的类很容易。-只需使用一些属性绘制类。8 s) X7 v* I. d4 H5 t
例如,在我的一个项目中,有一个非常简单的表,它可以很好地与之相匹配Linq-to-SQL一起使用:
2 r" d, H7 o9 ^& V$ |[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; }}这个代码很简单,别是当您将属性名称与表名称对齐时(不必这样做)。
" d* A' W. P5 \然后,您只需要一个存储库就可以连接到数据库:3 E) ^3 B( r; D0 y
class CategoryRepository : ICategoryRepository{    private Table categoryTable;    public CategoryRepository(string connectionString)                                                                                                                                                                                                                 categoryTable = (new DataContext(connectionString)).GetTable()当然,它有更多的功能,但它向你展示了非常基本的知识,一旦你明白了,就不难做到。这样,你就可以100%控制你的类,仍然可以使用Linq-to-SQL。0 f/ z  Q2 f4 {9 e
我从 Pro ASP.NET MVC框架    (一本伟大的书)学会了这种方法。. n+ d. R3 Y5 U1 x. M' [9 c! R; G
如果你想了解更多,我的一切Linq-to-
' X4 ?. l9 R8 R% {* lSQL从头开始写在我的一个项目上,你可以在这里浏览。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则