序列化genereted類我有以下表:從ADO.NET實體模型
create table Movie
(
id integer primary key identity(1,1),
title varchar(40),
synopsis varchar(200),
movieLength integer,
imageSmall varbinary(max),
imageLarge varbinary(max),
inputDate date,
);
使用ADO.NET實體模型,我生成的C#類。
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace CinemaService
{
using System;
using System.Collections.Generic;
public partial class Movie
{
public Movie()
{
this.Show = new HashSet<Show>();
}
public int id { get; set; }
public string title { get; set; }
public string synopsis { get; set; }
public Nullable<int> movieLength { get; set; }
public byte[] imageSmall { get; set; }
public byte[] imageLarge { get; set; }
public Nullable<System.DateTime> inputDate { get; set; }
public virtual ICollection<Show> Show { get; set; }
}
}
我有以下合約:
namespace CinemaService
{
[ServiceContract]
public interface ICinemaService
{
[OperationContract]
Movie[] list_movies();
}
}
和服務:
namespace CinemaService
{
[ServiceBehavior]
public class CinemaService : ICinemaService
{
private CinemaEntities _entities;
public CinemaService()
{
_entities = new CinemaEntities();
}
public Movie[] list_movies()
{
return _entities.Movie.ToArray();
}
}
}
服務可在IIS託管。
當表爲空時,我可以調用並獲得結果(空結果),但是當有一行時,我會得到一個異常。
我啓用了web.config中的跟蹤,我認爲問題是生成的類不是可序列化的。
使用跟蹤觀看者,我發現了以下內容:
異常類型:
System.ServiceModel.CommunicationException,System.ServiceModel, 版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089
消息:
嘗試序列化參數 http://tempuri.org/:list_moviesResult時發生錯誤。該消息的InnerException是 「類型 ‘System.Data.Entity.DynamicProxies.Movie_46EC56490AEEEA50CA29379C6E09B01C345ECBB1273756AE368BA72AA30754B5’ 數據合同名稱 ‘Movie_46EC56490AEEEA50CA29379C6E09B01C345ECBB1273756AE368BA72AA30754B5:預計不會http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies’ 。考慮使用DataContractResolver或將任何未知的 類型靜態添加到已知類型的列表中 - 例如,使用KnownTypeAttribute屬性的 或將其添加到傳遞給DataContractSerializer的已知類型的 列表中。有關更多詳細信息,請參閱 InnerException。
讓我知道是否需要更多細節。
在實體模型中禁用代理生成。 –