我正在开发一个WCF服务应用程序。它将成为大型系统的一部分。它提供了一些业务逻辑并基于实体框架4.1。我想将应用程序代码分成2层(VS,dll的项目):服务(包含业务逻辑)和DAL。使用实体框架构建应用程序dbContext API问题
我在我的项目
ClassModel
classID : int, PK
classIdentity : string
teacherName : string
statisticInfo : int
isRegistered : bool
StudentModel
studentID : int, PK
studentIdentity : string
classID : int, FK
为此,我现在用的DbContext模板生成代码有这样的数据库模型和获取:
public partial class ClassModel
{
public ClassModel()
{
this.Student = new HashSet<StudentModel>();
}
public int ClassID { get; set; }
public string ClassIdentity { get; set; }
public string TeacherName { get; set; }
public int StatisticInfo { get; set; }
public bool IsRegistered { get; set; }
public virtual ICollection<TerminalModel> Terminal { get; set; }
}
public partial class StudentModel
{
public int StudentID { get; set; }
public string StudentIdentity { get; set; }
public bool IsRegistered { get; set; }
public virtual ClassModel Class { get; set; }
}
我想只有通过揭露一些这方面的信息服务,所以我有不同的模型作为数据合同:
[DataContract]
public class Clas{
[DataMember]
public string ClassIdentity {get;set;}
[DataMember]
public string TeacherName {get;set;}
[DataMember]
public string ClassMark {get;set;} //computed from statisticInfo
[DataMember]
public int NumberOfStudents {get;set;} //amount of students in this class
}
而我的一部分我的服务合约:
[OperationContract]
public void RegsterClass(Clas clas); //(if given clas does not exists adds it and) sets its isRegistered column to True
[OperationContract]
public Clas GetClass(string classIdentity);
正如您所看到的一些字段不存在,其他字段正在计算中。 在这种情况下,我有一些关于如何正确构建应用程序的问题。你能用你认为合适的方式使用我提到的一切来编写实现接口方法的代码示例吗?
DataMemeber应该是DataMember – 2012-03-15 15:29:46
“你能写一些例子代码来实现接口方法吗?我用你认为合适的方式使用我提到的所有东西?我认为你应该对你的问题更具体。如果您发布概念性问题 - 请考虑以技术中立的方式提问。看起来你的问题与WCF或EF没什么关系。尝试将问题分解成几个更小更具体的问题。 (我发现这有助于获得答案) – drozzy 2012-10-12 01:34:39