首页 文章

DataContract将用于专用的数据访问层类?

提问于
浏览
1

我正在玩WCF 4.0 . 我有一个简单的服务,以下作为DataContract:

[DataContract]
public class WeeklySchedule
{
    [DataMember]
    public DateTime DateMon;
    [DataMember]
    public string DishMon;
    [DataMember]
    public DateTime DateTue;
    [DataMember]
    public string DishTue;
    [DataMember]
    public DateTime DateWed;
    [DataMember]
    public string DishWed;
    [DataMember]
    public DateTime DateThu;
    [DataMember]
    public string DishThu;
    [DataMember]
    public DateTime DateFri;
    [DataMember]
    public string DishFri;
}

我想构建一个单独的类库来保存数据库访问方法 . 我希望这些方法返回WeeklySchedule对象 .

我怎么能避免循环引用呢?

如果我将DAL类引用到WCF服务,我可以使用db方法,但DAL类不能“看到”DataContract类 .

2 回答

  • 0

    我们添加了第三个“层”,我们称之为应用程序 . 它可以访问DTO(您的问题中定义的类)和数据层 . 然后,应用程序层充当具有所有内容视图的应用程序层 . 它从数据层获取数据,并在将数据返回给调用者之前完成填充数据协定的工作 . 因此,它将完成大量的服务工作 .

    这可以避免您的循环引用 . :)

  • 2

    由于我缺乏知识,我认为如果我从WCF服务类中分离DataContract和ServiceContract类,我会遇到问题 .

    我的问题的解决方案是为 Contract 创建一个公共类库,并让它们由WCF类或数据访问层类访问 .

相关问题