C# 协定不返回空数据成员

C# 协定不返回空数据成员,c#,wcf,datacontract,C#,Wcf,Datacontract,我是新加入WCF的C#。 当我从数据库获取数据集合时,我有与我的服务相关的契约,但我的服务不会从契约返回null属性 任何帮助都将不胜感激 这是我的合同。 [DataContract(Name = "TaskCustomId", Namespace = "")] [KnownType(typeof(PMT.Service.Contract.TaskCustomId))] [KnownType(typeof(List<PMT.Service.Contract.TaskCustomId>

我是新加入WCF的C#。 当我从数据库获取数据集合时,我有与我的服务相关的契约,但我的服务不会从契约返回null属性

任何帮助都将不胜感激

这是我的合同。

[DataContract(Name = "TaskCustomId", Namespace = "")]
[KnownType(typeof(PMT.Service.Contract.TaskCustomId))]
[KnownType(typeof(List<PMT.Service.Contract.TaskCustomId>))]
[KnownType(typeof(List<Object>))]
[KnownType(typeof(Object))]
[KnownType(typeof(List<PMT.Base.Model.TaskCombinedObject>))]
[KnownType(typeof(PMT.Base.Model.TaskCombinedObject))]
[KnownType(typeof(List<ProjectCustomId>))]
[KnownType(typeof(PMT.Base.Helper.Pagination))]
[KnownType(typeof(List<PMT.Base.Helper.Pagination>))]
[KnownType(typeof(List<PMT.Base.Model.Milestone>))]
[KnownType(typeof(List<PMT.Base.Model.Progress>))]
[KnownType(typeof(List<PMT.Base.Model.Timeline>))]
[KnownType(typeof(List<PMT.Base.Model.User>))]
[KnownType(typeof(PMT.Base.Model.User))]
[KnownType(typeof(PMT.Base.Model.Resource))]
[KnownType(typeof(PMT.Base.Model.ProjectValues))]
[KnownType(typeof(PMT.Base.Model.ProjectClient))]
[KnownType(typeof(PMT.Base.Model.PriorityWrapper))]
[KnownType(typeof(User))]
[KnownType(typeof(List<PMT.Base.Model.Group>))]

public class TaskCustomId : Pagination
{
    public TaskCustomId()
    {

    }


    public TaskCustomId(PMT.Base.Model.TaskCombinedObject Model)
    {
        Id = Model.Id;
        Name = Model.Name;
        CreatorId = Model.CreatorId;
        if (Model.Description != null)
            Notes = Model.Description;

        if (Model.Priority != 0)
            Priority = Model.Priority;

        if (Model.Stage != 0)
            Stage = Model.Stage;

        if (Model.Status != 0)
            NoticeStatus = Convert.ToString(Model.Status);

        leaf = true;
        Object = 0;

        if (Model.StartDate != null)
            StartDate = Model.StartDate;
        else
            StartDate = null;

        if (Model.EndDate != null)
            EndDate = Model.EndDate;
        else
            EndDate = null;

        if (Model.EndDate != null)
            LateFinish = Model.LateFinish;
        else
            LateFinish = null;

        if (Model.LateStart != null)
            LateStart = Model.LateStart;
        else
            LateStart = null;

        if (Model.EarlyStart != null)
            EarlyStart = Model.EarlyStart;
        else
            EarlyStart = null;

        isCriticalTask = new Random().Next(100) % 2 == 0;
        isClarificationRequired = new Random().Next(100) % 2 == 0; ;
        isNotice = new Random().Next(100) % 2 == 0;
        isReshow = new Random().Next(100) % 2 == 0;
        isCompleted = new Random().Next(100) % 2 == 0;
        isPassive = new Random().Next(100) % 2 == 0;
        isCancelled = new Random().Next(100) % 2 == 0;

        if (Model.ActualStart != null)
            Actual_Start = Model.ActualStart;
        else
            Actual_Start = null;

        if (Model.ActualEnd != null)
            Actual_Finish = Model.ActualEnd;
        else
            Actual_Finish = null;

        if (Model.RemTime != null)
            Rem_Time = Model.RemTime;
        else
            Rem_Time = null;

        if (Model.Completed != null)
            Completed = Model.Completed;
        else
            Completed = null;

        if (Model.ActualDuration != 0)
            Actual_Duration = Model.ActualDuration;
        else
            Actual_Duration = 0;
            //float.Parse(Convert.ToString(Model.GetType().GetProperty("ActualDuration").GetValue(Model, null)), System.Globalization.CultureInfo.InvariantCulture);
        if (Model.ActualDuration != 0)
            Duration_Act_Pld = Model.ActualDuration; 
        else
            Duration_Act_Pld = 0;
            //float.Parse(Convert.ToString(Model.GetType().GetProperty("ActualDurationPlanned").GetValue(Model, null)), System.Globalization.CultureInfo.InvariantCulture); */
    }

    internal List<TaskCustomId> GetTaskList(List<PMT.Base.Model.TaskCombinedObject> TaskListView)
    {
        List<TaskCustomId> TasksList = new List<TaskCustomId>();
        foreach (PMT.Base.Model.TaskCombinedObject MTask in TaskListView)
        {
            TasksList.Add(new TaskCustomId(MTask));
        }
        return TasksList;
    }

    public TaskCustomId ToModel(PMT.Base.Model.TaskCombinedObject Model)
    {
        return null;
    }

    [DataMember(IsRequired = true)]
    public String Id { get; set; }

    [DataMember(IsRequired = true)]
    public String Name { get; set; }

    [DataMember(IsRequired = true)]
    public int CreatorId { get; set; }

    [DataMember(IsRequired = true)]
    public string Notes = null;

    [DataMember(IsRequired = true)]
    public int Priority = 0;

    [DataMember(IsRequired = true)]
    public int Stage = 0;

    [DataMember(IsRequired = true)]
    public string NoticeStatus = null;

    [DataMember(IsRequired = true)]
    public bool leaf = false;

    [DataMember(IsRequired = true)]
    public int Object = 0;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> StartDate = null;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> EndDate = null;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> LateFinish = null;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> LateStart = null;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> EarlyStart = null;

    [DataMember(IsRequired = true)]
    public bool isCriticalTask = false;

    [DataMember(IsRequired = true)]
    public bool isClarificationRequired = false;

    [DataMember(IsRequired = true)]
    public bool isNotice = false;

    [DataMember(IsRequired = true)]
    public bool isReshow = false;

    [DataMember(IsRequired = true)]
    public bool isCompleted = false;

    [DataMember(IsRequired = true)]
    public bool isPassive = false;

    [DataMember(IsRequired = true)]
    public bool isCancelled = false;

    [DataMember(IsRequired = true)]
    public int ParentId = 0;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> Actual_Start = null;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> Actual_Finish = null;

    [DataMember(IsRequired = true)]
    public string Rem_Time = null;

    [DataMember(IsRequired = true)]
    public Nullable<DateTime> Completed = null;

    [DataMember(IsRequired = true)]
    public float Actual_Duration = 0;

    [DataMember(IsRequired = true)]
    public float Duration_Act_Pld = 0;
}
[DataContract(Name=“TaskCustomId”,Namespace=”“)]
[KnownType(typeof(PMT.Service.Contract.TaskCustomId))]
[知识类型(类型(列表))]
[知识类型(类型(列表))]
[知识类型(对象的类型))]
[知识类型(类型(列表))]
[KnownType(类型(PMT.Base.Model.TaskCombinedObject))]
[知识类型(类型(列表))]
[KnownType(typeof(PMT.Base.Helper.Pagination))]
[知识类型(类型(列表))]
[知识类型(类型(列表))]
[知识类型(类型(列表))]
[知识类型(类型(列表))]
[知识类型(类型(列表))]
[KnownType(typeof(PMT.Base.Model.User))]
[KnownType(typeof(PMT.Base.Model.Resource))]
[KnownType(类型(PMT.Base.Model.ProjectValues))]
[KnownType(typeof(PMT.Base.Model.ProjectClient))]
[KnownType(typeof(PMT.Base.Model.PriorityWrapper))]
[知识类型(类型(用户))]
[知识类型(类型(列表))]
公共类TaskCustomId:分页
{
公共任务customid()
{
}
公共TaskCustomId(PMT.Base.Model.TaskCombinedObject模型)
{
Id=Model.Id;
Name=Model.Name;
CreatorId=Model.CreatorId;
如果(Model.Description!=null)
注=型号。说明;
如果(Model.Priority!=0)
优先级=模型优先级;
如果(Model.Stage!=0)
阶段=模型阶段;
如果(Model.Status!=0)
NoticeStatus=Convert.ToString(Model.Status);
叶=真;
对象=0;
如果(Model.StartDate!=null)
StartDate=Model.StartDate;
其他的
StartDate=null;
如果(Model.EndDate!=null)
EndDate=Model.EndDate;
其他的
EndDate=null;
如果(Model.EndDate!=null)
LateFinish=Model.LateFinish;
其他的
LateFinish=null;
如果(Model.LateStart!=null)
LateStart=Model.LateStart;
其他的
LateStart=null;
如果(Model.EarlyStart!=null)
EarlyStart=Model.EarlyStart;
其他的
EarlyStart=null;
isCriticalTask=new Random()。下一步(100)%2==0;
isClarificationRequired=new Random()。下一个(100)%2==0;
isNotice=new Random()。下一个(100)%2==0;
isReshow=new Random()。下一个(100)%2==0;
isCompleted=new Random()。下一个(100)%2==0;
isPassive=new Random()。下一个(100)%2==0;
isCancelled=new Random()。下一个(100)%2==0;
如果(Model.ActualStart!=null)
实际启动=Model.ActualStart;
其他的
实际启动=空;
如果(Model.ActualEnd!=null)
实际光洁度=型号.ActualLend;
其他的
实际完成=空;
如果(Model.RemTime!=null)
Rem_时间=Model.RemTime;
其他的
Rem_时间=零;
如果(Model.Completed!=null)
已完成=模型。已完成;
其他的
已完成=空;
如果(Model.ActualDuration!=0)
实际持续时间=模型实际持续时间;
其他的
实际持续时间=0;
//Parse(Convert.ToString(Model.GetType().GetProperty(“ActualDuration”).GetValue(Model,null)),System.Globalization.CultureInfo.InvariantCulture);
如果(Model.ActualDuration!=0)
持续时间=模型实际持续时间;
其他的
持续时间=0;
//Parse(Convert.ToString(Model.GetType().GetProperty(“ActualDurationPlanning”).GetValue(Model,null)),System.Globalization.CultureInfo.InvariantCulture)*/
}
内部列表GetTaskList(列表任务列表视图)
{
列表任务列表=新列表();
foreach(任务列表视图中的PMT.Base.Model.TaskCombinedObject MTask)
{
TasksList.Add(新任务客户ID(MTask));
}
返回任务列表;
}
公共任务CustomId ToModel(PMT.Base.Model.TaskCombinedObject模型)
{
返回null;
}
[数据成员(IsRequired=true)]
公共字符串Id{get;set;}
[数据成员(IsRequired=true)]
公共字符串名称{get;set;}
[数据成员(IsRequired=true)]
public int CreatorId{get;set;}
[数据成员(IsRequired=true)]
公共字符串Notes=null;
[数据成员(IsRequired=true)]
公共int优先级=0;
[数据成员(IsRequired=true)]
公共int阶段=0;
[数据成员(IsRequired=true)]
公共字符串NoticeStatus=null;
[数据成员(IsRequired=true)]
公共布尔叶=假;
[数据成员(IsRequired=true)]
公共int对象=0;
[数据成员(IsRequired=true)]
公共可为null的StartDate=null;
[数据成员(IsRequired=true)]
公共可为空的EndDate=null;
[数据成员(IsRequired=true)]
公共可为null的LateFinish=null;
[数据成员(IsRequired=true)]
公共可为null的LateStart=null;
[数据成员(IsRequired=true)]
公共可为null的EarlyStart=null;
[数据成员(IsRequired=true)]
public bool isCriticalTask=false;
[数据成员(IsRequired=true)]
public bool isClarificationRequired=假;
[数据成员(IsRequired=true)]
public bool isNotice=false;
[数据成员(IsRequired=true)]
公共bool isReshow=false;
[数据成员(IsRequired=true)]
public bool isCompleted=false;
[数据成员(IsRequired=true)]
public bool isPassive=false;
[数据成员(IsRequired=true)]
公共bool isCancelled=false;
[数据成员(IsRequired=true)]
public int ParentId=0;
[数据成员(IsRequired=true)]
公共可为null的实际_Start=null;
[数据成员(IsRequired=true)]
公共可为null的实际_Finish=null;
[数据成员(IsRequired=true)]
公共字符串Rem_Time=null;
[数据成员(IsRequired=true)]
公共明渠