Я получаю «Ссылка на объект не установлена на экземпляр объекта» при использовании нотации Tuple с Enum в возвращаемой структуре.
Если я изменю тип в кортеже с типа Enum на string, он будет работать как следует, также, если я изменю его, чтобы он возвращал только одно значение (string или enum), он будет работать так, как и должен.
Это баг в ServiceStack?
Я использую ServiceStack.OrmLite.SqlServer v5.4.0 в LinqPad v5.31.0
void Main()
{
var uniqueId = "a635266024448923446";
var result = new Dictionary<Language, string>();
using (var db = _connectionFactory.OpenDbConnection())
{
// This works fine
var rows1 = db.Select<A>("select LanguageId, Name from tblTable");
foreach (var row in rows1)
{
result.Add(row.LanguageId, row.Name);
}
}
using (var db = _connectionFactory.OpenDbConnection())
{
// This throws "Object reference not set to an instance of an object."
var rows2 = db.Select<(Language Language, string Name)>("select LanguageId, Name from tblTable");
foreach (var row in rows2)
{
result.Add(row.Language, row.Name);
}
}
}
public class A
{
public Language LanguageId { get; set; }
public string Name { get; set; }
}
public enum Language
{
NO,
EN,
SV,
DK
}