通过C#中的DataSet访问数据库

时间:2014-11-02 15:34:50

标签: c# sql linq dataset

我在项目中添加了一个基于服务的新数据库。在我的DataSet的数据源配置向导下,我选择了"部件"数据库中的表。为什么我无法访问QuotingDataSet类中的任何数据?

    private void buttonTest_Click(object sender, EventArgs e)
    {
        QuotingDataSet dataSet = new QuotingDataSet();

        var partQuery =
            from part in dataSet.Parts.AsEnumerable()
            where part.Part_Number == txtBoxTestInput.Text
            select part.Part_Description;

        foreach (var part in partQuery)
        {
            txtBoxTestOutput.Text = part;
        }
    }

如果需要手动填充,是否有LINQ to SQL命令将整个表简单地放入DataSet?我对SQL不满意,所以我试图避免将所有SQL写入SqlDataAdapter,如图here所示。

我想我不清楚为什么需要第二级抽象;直接在数据库本身运行LINQ查询会出现什么问题?

1 个答案:

答案 0 :(得分:1)

查看实体框架。右键单击您的项目,然后管理NuGet包,搜索"实体框架"并将其添加到您的项目中。

网上有很多关于Entity Framework的信息,而版本6是最新版本。使用数据库优先方法,Entity框架将根据您的表和列创建C#结构,并允许您直接在数据库上运行LINQ查询。

在CodeProject上有一个很好的例子,它是数据库优先的方法,这是我更喜欢使用它的方法,因为它允许使用现有数据库轻松设置......

http://www.codeproject.com/Tips/739164/Entity-Framework-Tutorial-for-Beginners

微软信息涵盖了更多选项,但我发现它更加令人困惑,因此没有帮助......

https://msdn.microsoft.com/en-us/data/ee712907.aspx