Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 实体框架-多维数组的自定义查询?_C#_.net_Entity Framework_Dbcontext - Fatal编程技术网

C# 实体框架-多维数组的自定义查询?

C# 实体框架-多维数组的自定义查询?,c#,.net,entity-framework,dbcontext,C#,.net,Entity Framework,Dbcontext,我想获取数据库并获取字符串数组列表。我喜欢 List<string[]> results = new List<string[]>(); results = dbContext.Database.SqlQuery<string[]>("select one, two from myTable").ToList(); 但我不想创建新的抽象类型。这只是一张简单的地图。两列 实现这一点的最佳方法是什么?将要用来代替TElement的类应该有一个默认构造函数,以便S

我想获取数据库并获取字符串数组列表。我喜欢

List<string[]> results = new List<string[]>();
results = dbContext.Database.SqlQuery<string[]>("select one, two from myTable").ToList();
但我不想创建新的抽象类型。这只是一张简单的地图。两列


实现这一点的最佳方法是什么?

将要用来代替TElement的类应该有一个默认构造函数,以便
SQLQuery
方法能够在将其添加到
列表之前对其进行初始化

因此,如果您有一个名为
Person
的类,
SQLQuery
方法将执行以下操作:

Person p = new Person();
然后它将填充其属性

Person.One = .... ;
Person.Two = .... ;
您希望使用字符串类型的数组,而不是像上面那样的类。问题是这个类没有默认的构造函数。我们可以根据需要创建一个新数组

string[] someStrings = new string[10];
但是我们不能创建如下字符串数组

string[] someStrings = new string[];
因为我们需要指定这个数组的大小


我担心您将无法实现您试图实现的目标,您将需要使用带有默认构造函数的类来代替
string[]

将要用来代替远程通信的类应该有一个默认构造函数,这样
SQLQuery
方法将能够在将其添加到
列表之前对其进行初始化

因此,如果您有一个名为
Person
的类,
SQLQuery
方法将执行以下操作:

Person p = new Person();
然后它将填充其属性

Person.One = .... ;
Person.Two = .... ;
您希望使用字符串类型的数组,而不是像上面那样的类。问题是这个类没有默认的构造函数。我们可以根据需要创建一个新数组

string[] someStrings = new string[10];
但是我们不能创建如下字符串数组

string[] someStrings = new string[];
因为我们需要指定这个数组的大小


我担心您将无法实现您试图实现的目标,您将需要使用一个带有默认构造函数的类来代替
string[]

如果myTable映射到一个已经定义的实体(“MyEntity”),他可以通过:results=dbContext.Set().Select(e=>newstring[]{e.one,e.two}.ToArray()返回一个数组;如果myTable映射到一个已经定义的实体(“MyEntity”),他可以通过:results=dbContext.Set().Select(e=>newstring[]{e.one,e.two}).ToArray()返回一个数组;