不能在MVC中使用WCF服务

本文关键字:WCF 服务 MVC 不能 | 更新日期: 2023-09-27 18:09:26

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

错误:无法隐式转换类型"Campus.Web.ViewModel.CampusWebService"。ExpenseAccount[]' to '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服务,甚至我在后端获得实体关系。提前谢谢你。

不能在MVC中使用WCF服务

在添加Service Reference in Advanced按钮时,将Collection类型更改为System.Collections.Generic.List将解决此问题

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

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