1

私のDALは次のようなものです:

Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>();
mylist = db.ExecuteSprocAccessor<EMyClass>("spMySP", param1, param2).ToList();

SQL-SEVER の私の SP は、4 つの通常のフィールドと、画像である varbinary フィールドを返します

私のEMyClassは:

public class EMyClass
{

    public int aaa { get; set; }
    public int bbb { get; set; }
    public byte[] ccc { get; set; }
    public string ddd { get; set; }
    public string eee { get; set; }
}

WCF クライアントでは、クエリによって返された任意の行から通常のデータを確認できますが、varbinary フィールド (画像) は常に null です。SQL マネージャーで同じクエリを実行すると、画像データを含む varbinary フィールドを確認できます。varbinary フィールドは、クラスの ccc プロパティにマップされるはずです。

前もって感謝します

4

1 に答える 1

0

私は知っています、それは最悪のアプローチかもしれませんが、少なくともうまくいきます-_-

foreach (EMyClass obj in mylist)
    obj.ccc = (byte[])db.ExecuteScalar("spReturnImage", obj.aaa);
于 2010-10-04T18:21:16.577 に答える