我在项目中添加了一个基于服务的新数据库。在我的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查询会出现什么问题?
答案 0 :(得分:1)
查看实体框架。右键单击您的项目,然后管理NuGet包,搜索"实体框架"并将其添加到您的项目中。
网上有很多关于Entity Framework的信息,而版本6是最新版本。使用数据库优先方法,Entity框架将根据您的表和列创建C#结构,并允许您直接在数据库上运行LINQ查询。
在CodeProject上有一个很好的例子,它是数据库优先的方法,这是我更喜欢使用它的方法,因为它允许使用现有数据库轻松设置......
http://www.codeproject.com/Tips/739164/Entity-Framework-Tutorial-for-Beginners
微软信息涵盖了更多选项,但我发现它更加令人困惑,因此没有帮助......