列名无效。 [节点名称(如果有的话)= T,列名=版] [英] The column name is not valid. [ Node name (if any) = t0,Column name = version ]

查看:815
本文介绍了列名无效。 [节点名称(如果有的话)= T,列名=版]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我现在面临的问题,而试图查询 SQLCE 数据库在我的Windows Phone芒果应用程序。

I am facing issue while trying to query SQLCE database in my Windows Phone Mango application.

我得到例外当我执行

的foreach(在myDataContext.MyTable.Select(VAR逐项=>项目))

列名无效。 [节点名称(如果有的话)= T0,列名=版本]

奇怪的是,当我基于任何单独的列执行查询时,它工作(在myDataContext.MyTable.Select(项目=> VAR项目; item.SomeColumn))的罚款。

Strangely, when I execute query based on any individual column, it works fine

的foreach

任何想法可能是错在这里?

Any idea what could be wrong here?

推荐答案

我装的LINQ to SQL调试展台找出什么查询完全被幕后生成的,它是

I installed LINQ to SQL Debug Visualizer to find out what query exactly is being generated behind the scene and it was

{选择[T0]。[版本],[T0]。[ID] [T0]。[音量],...列
FROM [MyTable的]的其他类似AS [T0]

这很奇怪,因为我没有在我的表(曾经)有版本列。我看着我的模型,我发现这列定义

This was strange because I didn't had version column in my table (ever). I looked into my model and I found this column defined

[Column(IsVersion = true)]
private Binary version;



我注释掉这两条线和去除柱重新运行该应用程序。新生成的SQL没有过任何版本列,我的查询工作的罚款。

I removed column by commenting out these two lines and re-ran the app. Newly generated SQL didn't had any version column and my query worked fine.

我使用 SQLCEMangoCodeGenerator 生成的LINQ to SQL类。我猜的错误是在这个工具,因为它的产生是我没有在我的表

I am using SQLCEMangoCodeGenerator for generating LINQ to SQL classes. I guess error is in this tool because of which it generated an extra column which I didn't have in my table

这篇关于列名无效。 [节点名称(如果有的话)= T,列名=版]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆