1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VideoWebsite.DataAccess;

namespace VideoWebsite.Models
{
    public class DatabaseModel
    {
        public int DatabaseID { get; set; }
        public string DatabaseName { get; set; }
   }

    public class DatabaseModelAccess
    {
        public static IEnumerable<DatabaseModel> All()
        {
            string queryString = @"SELECT 1 as DatabaseID, 'test' as DatabaseName";
            using (EntitiesModelA2 dbContext2 = new EntitiesModelA2())
            {
                IEnumerable<DatabaseModel> result = dbContext2.ExecuteQuery<DatabaseModel>(queryString); //Exception occurs here
                return result;
            }
        }
    }
}

非永続型を具体化しようとしています。Postgres データベースを使用して EntitiesModelA2 を生成しています。

この画像を展開すると、パラメータ名が **convertername** であることがわかります

ここに画像の説明を入力

4

1 に答える 1

1

Telerik Data Access の観点からは、クエリに FROM 句がないため、エラーが表示されます ( SELECT ステートメントの基本的な構文に準拠していません)。

次のように実行できます。

オプション1

using (EntitiesModelA2 dbContext = new EntitiesModelA2())
{
    using (IDbConnection connect = dbContext.Connection)
    {
        using (IDbCommand command = connect.CreateCommand())
        {
            command.CommandText = "SELECT 1 as DatabaseID, 'test' as DatabaseName FROM ExistingTableName";
            using (IDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var result = new DatabaseModel();
                            result.DatabaseID = reader.GetInt32(0);
                            result.DatabaseName = reader.GetString(1);
                            //do something with the result
                        }
                    }
        }
    }
}

オプション 2

using (EntitiesModelA2 dbContext = new EntitiesModelA2())
{
    var result = dbContext.ExecuteQuery<DatabaseModel>("SELECT 1 as DatabaseID, 'test' as DatabaseName FROM ExistingTableName");
}
于 2015-04-13T09:59:06.850 に答える