列名无效。 [节点名称(如果有的话)= T,列名=版] [英] The column name is not valid. [ Node name (if any) = t0,Column name = version ]
问题描述
我现在面临的问题,而试图查询 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屋!