Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ExecuteQuery(CustomType,Query)返回初始化的CustomType的IEnumerable_C#_Sql Server_Ienumerable_Datacontext - Fatal编程技术网

C# ExecuteQuery(CustomType,Query)返回初始化的CustomType的IEnumerable

C# ExecuteQuery(CustomType,Query)返回初始化的CustomType的IEnumerable,c#,sql-server,ienumerable,datacontext,C#,Sql Server,Ienumerable,Datacontext,我需要在数据库上执行运行时定义的SQL查询,并在datagrid上显示结果。 我正在使用此代码查询数据库。它应该返回运行时定义的customType对象的IEnumerable List<dynamic> result; using (context = new DataContext(ConnStr)) { IEnumerable enumerable = context.ExecuteQuery(customType, query); result = enumera

我需要在数据库上执行运行时定义的SQL查询,并在datagrid上显示结果。 我正在使用此代码查询数据库。它应该返回运行时定义的customType对象的IEnumerable

List<dynamic> result;
using (context = new DataContext(ConnStr))
{
   IEnumerable enumerable = context.ExecuteQuery(customType, query);
   result = enumerable.Cast<dynamic>().ToList();
}
查询:

Select id from TestTable
ExecuteQuery返回的customType对象列表中,所有对象的id均为0。 我对context.ExecuteQuery也做了同样的操作,这次我在编译时定义了customType(运算符不处理类型实例),它按预期工作,并返回了合法ID列表。 我查看了msdn页面,发现了以下有趣的描述:

公共方法ExecuteQuery(字符串,对象[])执行SQL 直接查询数据库并返回对象

公共方法ExecuteQuery(类型、字符串、对象[])直接在上执行SQL查询 数据库

感谢您的帮助

更新: 我的SQL Server数据库中的测试表定义:

CREATE TABLE [dbo].[TestTable](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [StartDate] [datetime] NOT NULL,
    [BasePath] [varchar](512) NOT NULL,

 CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

(如果有任何语法错误,那就是输入错误)

请发布
customType
的定义以及表的SQL查询和模式。
CREATE TABLE [dbo].[TestTable](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [StartDate] [datetime] NOT NULL,
    [BasePath] [varchar](512) NOT NULL,

 CONSTRAINT [PK_TestTable] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]