gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:41:57 25 4
gpt4 key购买 nike

如果我想使用 Linq-SQL,我还必须将 DB 表拖到设计器表面以创建实体类。

我总是喜欢完全控制我的应用程序,不喜欢 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; }
}

代码非常简单,特别是如果您使属性名称与表名称对齐(您不必这样做)。

然后你只需要一个 Repository 来连接到数据库:
class CategoryRepository : ICategoryRepository
{
private Table<Category> categoryTable;
public CategoryRepository(string connectionString)
{
categoryTable = (new DataContext(connectionString)).GetTable<Category>();
}
}

当然还有更多内容,但这向您展示了非常基础的知识,一旦您理解它就不难做到。这样您就可以 100% 控制您的类,并且您仍然可以利用 Linq-to-SQL。

我从 学到了这种方法专业版 ASP.NET MVC 框架 ,一本很棒的书。

如果您想了解更多信息,我所有的 Linq-to-SQL 类都是在我的一个项目中从头开始编写的,您可以浏览 here .

关于sql - 是否可以在不拖放的情况下使用 Linq-SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1859469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com