无法在MVC中使用WCF服务

时间:2015-08-24 13:36:51

标签: c# asp.net-mvc entity-framework wcf

我收到一个奇怪的错误。几天前代码工作正常。但现在它的投掷错误。我试图谷歌搜索找出解决方案,但无法找到它。 我在实体框架中首先使用代码创建实体。现在,在实体框架中首先使用代码添加新实体并在MVC中使用WCF服务消耗方法时,它开始在UI部分(MVC)中抛出错误,如

错误:无法将类型'Campus.Web.ViewModel.CampusWebService.ExpenseAccount []'隐式转换为'System.Collections.Generic.List'

EF中新创建的课程

[DataContract(IsReference = true)]
[KnownType(typeof(AccountCategoryMajor))]
[KnownType(typeof(ActivityReport))]

[XmlInclude(typeof(AccountCategory))]
public class AccountCategory : BaseEntity
{

    [DataMember]
    public long AccountcategoryMinnorID { get; set; }

    [DataMember]
    public virtual List<AccountCategoryMinnor> AccountCategoryMinnors { get; set; }

    [DataMember]
    public long ExpenseID { get; set; }

    [DataMember]
    public virtual Expense expense { get; set; }

}

当我删除我新创建的类实体时,它开始正常工作。我不知道你发生了什么 我甚至可以单独运行Wcf服务,甚至我在后端获得实体关系。 提前致谢。

2 个答案:

答案 0 :(得分:1)

在高级按钮中添加服务引用时,将Collection类型更改为System.Collections.Generic.List将解决问题

答案 1 :(得分:0)

我有同样的问题。清理解决方案,重建和重新启动Visual Studio始终有效(真的)。

您还可以尝试在DataContract中使用Array而不是List,并在客户端将其转换为List。