.net 从本地数据库的特定表中获取字符串数据

.net 从本地数据库的特定表中获取字符串数据,.net,database,entity-framework,windows-phone-7,linq-to-sql,.net,Database,Entity Framework,Windows Phone 7,Linq To Sql,我正在尝试从我的应用程序项目中存在的本地数据库获取数据 代码如下: private void HW_Info() { const string strConnectionString = @"appdata:/WInfoAppDevicesDB.sdf"; using (DeviceDataContext db = new DeviceDataContext(strConnectionString)) { var p

我正在尝试从我的应用程序项目中存在的本地数据库获取数据

代码如下:

private void HW_Info()
    {
        const string strConnectionString = @"appdata:/WInfoAppDevicesDB.sdf";
        using (DeviceDataContext db = new DeviceDataContext(strConnectionString))
        {
            var projectName = from m in db.Devices
                                 where m.ProductName == deviceName
                                 select m;
        }
    }
问题是,我没有获得表的值,而是一个SQL查询字符串,我不知道应用程序将选择哪个表。有三个表具有相同的列类型


我是Linq to SQL的新手,因为我只学习SQL,所以我为我在这方面缺乏准备而道歉

在您在问题中提供的代码片段中,您正在查询设备表

根据您的评论,您正在使用的数据库中似乎没有“设备”表

如果要从HTC表中选择记录,请按如下所示更改linq查询

var projectName = from m in db.HTC
                  where m.ProductName == 'deviceName'
                  select m;
上述linq查询的等效SQL查询如下

SELECT * FROM HTC m WHERE m.ProductName = 'deviceName';

希望这有帮助…

你的意思是在调试器中看到SQL字符串吗?不,我试图在我的应用程序上直接显示文本块…我只看到传统形式的SQL查询选择。。。从…起其中…,但它没有尝试检索数据的任何表名…您的查询没有检索表名。它正在检索设备表中的行。这就是你想做的吗?看我的答案,我想这就是你想要的。我试图从一个特定的表中检索数据。示例:我有一个名为HTC的表,我想获取一行特定的设备型号,如您所见,我使用了其中的m.ProductName==deviceName,但我没有检索到SQL查询的任何其他内容,现在我观察到该程序给了我一个System.Data.SqlServerCe.SqlCeException…可能是一个损坏的数据库?异常消息是什么?嗯,问题是,我现在尝试不能在代码中直接输入HTC的名称,因为编译器认为这是一个我没有定义的变量,如果我把它放在字符串格式的HTC中,它会给我错误的代码,因为从表变量隐式转换为字符串。看起来您没有更新实体数据模型以匹配最新的模式。在尝试我上面提供的解决方案之前,请尝试更新数据模型以添加缺少的表。