public virtual ObjectResult<Nullable<byte>> GetPersonalPicture3(Nullable<System.Guid> contactId)
{
var contactIdParameter = contactId.HasValue ?
new ObjectParameter("ContactId", contactId) :
new ObjectParameter("ContactId", typeof(System.Guid));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<byte>>("GetPersonalPicture3", contactIdParameter);
}
在底部的代码中,我遇到了这个错误&#34;来自物化的&#39; System.Byte []&#39;输入可以为空的系统.Byte&#39;类型无效。&#34;
byte x = DBPSO.GetPersonalPicture3(ProfileID).FirstOrDefault() ?? 0000;
此外,我也测试了此代码
var x = DBPSO.GetPersonalPicture3(ProfileID).Select(B => B.Value).ToArray();
string binaryPic = System.Text.Encoding.Unicode.GetString(x);
答案 0 :(得分:0)
db上的图片可能是varbinary,因此是一个字节数组而不是单个字节。 试试这个:
public virtual ObjectResult<byte[]> GetPersonalPicture3(Nullable<System.Guid> contactId)
{
var contactIdParameter = contactId.HasValue ?
new ObjectParameter("ContactId", contactId) :
new ObjectParameter("ContactId", typeof(System.Guid));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<byte[]>("GetPersonalPicture3", contactIdParameter);
}