我想获取数据库并获取字符串数组列表。我做..
List<string[]> results = new List<string[]>();
results = dbContext.Database.SqlQuery<string[]>("select one, two from myTable").ToList();
我有一个例外
"The result type 'System.String[]' may not be abstract and must include a default constructor."
但我不想创建新的抽象类型。这只是一张简单的地图。两列。
实现这一目标的最佳方式是什么?
答案 0 :(得分:0)
将要用来代替TElement的类应该有一个默认构造函数,以便SQLQuery
方法能够在将其添加到List
之前对其进行初始化。
因此,如果您有一个名为Person
的类,则SQLQuery
方法会执行
Person p = new Person();
在内部,然后它将填充其属性
Person.One = .... ;
Person.Two = .... ;
而不是像上面这样的类,你想使用string类型的数组。问题是这个类没有默认的构造函数。我们可以创建一个新数组
string[] someStrings = new string[10];
但我们无法创建一个字符串数组,如下所示
string[] someStrings = new string[];
因为我们需要指定这个数组的大小。
我担心你无法实现你想要做的事情,你需要使用一个带有默认构造函数的类来代替string[]
。