Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WCF中发送自己的数据收集_C#_Wcf_Datacontract - Fatal编程技术网

C# 在WCF中发送自己的数据收集

C# 在WCF中发送自己的数据收集,c#,wcf,datacontract,C#,Wcf,Datacontract,我有自己的收集数据合同: [DataContract] public class DzieckoAndOpiekun { public DzieckoAndOpiekun() { } public DzieckoAndOpiekun(string dzImie, string dzNazwisko, string opImie, string opNazwisko) { this.DzieckoImie = dzImie; this

我有自己的收集数据合同:

    [DataContract]
public class DzieckoAndOpiekun
{
    public DzieckoAndOpiekun() { }
    public DzieckoAndOpiekun(string dzImie, string dzNazwisko, string opImie, string opNazwisko)
    {
        this.DzieckoImie = dzImie;
        this.DzieckoImie = dzNazwisko;
        this.OpiekunImie = opImie;
        this.OpiekunNazwisko = opNazwisko;
    }

    /// <summary>
    /// Field for Dziecko's Surname
    /// </summary>
    private string dzieckoNazwisko;

    /// <summary>
    /// Field for Dziecko's Name
    /// </summary>
    private string dzieckoImie;

    /// <summary>
    /// Field for Opiekun's Surname
    /// </summary>
    private string opiekunNazwisko;

    /// <summary>
    /// Field for Opiekun's Name
    /// </summary>
    private string opiekunImie;

    /// <summary>
    /// Gets or sets the dziecko nazwisko.
    /// </summary>
    /// <value>The dziecko nazwisko.</value>
    [DataMember]
    public virtual string DzieckoNazwisko
    {
        get { return this.dzieckoNazwisko; }
        set { this.dzieckoNazwisko = value; }
    }

    /// <summary>
    /// Gets or sets the dziecko imie.
    /// </summary>
    /// <value>The dziecko imie.</value>
    [DataMember]
    public virtual string DzieckoImie
    {
        get { return this.dzieckoImie; }
        set { this.dzieckoImie = value; }
    }

    /// <summary>
    /// Gets or sets the opiekun nazwisko.
    /// </summary>
    /// <value>The opiekun nazwisko.</value>
    [DataMember]
    public virtual string OpiekunNazwisko
    {
        get { return this.opiekunNazwisko; }
        set { this.opiekunNazwisko = value; }
    }

    /// <summary>
    /// Gets or sets the opiekun imie.
    /// </summary>
    /// <value>The opiekun imie.</value>
    [DataMember]
    public virtual string OpiekunImie
    {
        get { return this.opiekunImie; }
        set { this.opiekunImie = value; }
    }
}

[DataContract]
public class DzieckoAndOpiekunCollection : IEnumerable<DzieckoAndOpiekun>, IList<DzieckoAndOpiekun>
{
    [DataMember]
    List<DzieckoAndOpiekun> collection = new List<DzieckoAndOpiekun>();

    [DataMember]
    public List<DzieckoAndOpiekun> Collection
    {
        get { return collection; }
        set { collection = value; }
    }

    public IEnumerator<DzieckoAndOpiekun> GetEnumerator()
    {
        return collection.GetEnumerator();
    }

    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
        throw new System.NotImplementedException();
    }

    public int IndexOf(DzieckoAndOpiekun item)
    {
        return collection.IndexOf(item);
    }

    public void Insert(int index, DzieckoAndOpiekun item)
    {
        collection.Insert(index, item);
    }

    public void RemoveAt(int index)
    {
        collection.RemoveAt(index);
    }

    public DzieckoAndOpiekun this[int index]
    {
        get
        {
            return collection[index];
        }
        set
        {
            collection[index] = value;
        }
    }

    public void Add(DzieckoAndOpiekun item)
    {
        this.collection.Add(item);
    }

    public void AddRange(IList<DzieckoAndOpiekun> collection)
    {
        this.collection.AddRange(collection);
    }

    public void Clear()
    {
        collection.Clear();
    }

    public bool Contains(DzieckoAndOpiekun item)
    {
        return collection.Contains(item);
    }

    public void CopyTo(DzieckoAndOpiekun[] array, int arrayIndex)
    {
        this.collection.CopyTo(array, arrayIndex);
    }

    public int Count
    {
        get { return this.collection.Count; }
    }

    public bool IsReadOnly
    {
        get { return false; }
    }

    public bool Remove(DzieckoAndOpiekun item)
    {
        return this.collection.Remove(item);
    }
}
[DataContract]
公共级DzieckoAndOpiekun
{
公共DzieckoAndOpiekun(){}
公共DzieckoAndOpiekun(字符串dzImie、字符串dzNazwisko、字符串opImie、字符串opNazwisko)
{
this.DzieckoImie=dzImie;
this.DzieckoImie=dzNazwisko;
this.OpiekunImie=opImie;
this.opiekunanazwisko=opNazwisko;
}
/// 
///Dziecko姓氏字段
/// 
私人字符串Dzieckonazzwisko;
/// 
///Dziecko名字的字段
/// 
私有字符串dzieckoImie;
/// 
///奥皮肯姓氏字段
/// 
私人字符串Opiekunanazwisko;
/// 
///Opiekun名称的字段
/// 
私有字符串opiekunImie;
/// 
///获取或设置dziecko-nazwisko。
/// 
///dziecko-nazwisko。
[数据成员]
公共虚拟字符串Dzieckonazzwisko
{
获取{返回this.dzieckonazzwisko;}
设置{this.dzieckonazzwisko=value;}
}
/// 
///获取或设置dziecko imie。
/// 
///dziecko imie。
[数据成员]
公共虚拟字符串DzieckoImie
{
获取{返回this.dzieckoImie;}
设置{this.dzieckoImie=value;}
}
/// 
///获取或设置opiekun nazwisko。
/// 
///奥皮肯·纳兹维斯科。
[数据成员]
公共虚拟字符串opiekunanazwisko
{
获取{返回this.opiekunanazwisko;}
设置{this.opiekunNazwisko=value;}
}
/// 
///获取或设置opiekun imie。
/// 
///奥皮肯·伊米。
[数据成员]
公共虚拟字符串OpiekunImie
{
获取{返回this.opiekunImie;}
设置{this.opiekunImie=value;}
}
}
[数据合同]
公共类DzieckoAndOpiekunCollection:IEnumerable,IList
{
[数据成员]
列表集合=新列表();
[数据成员]
公共列表集合
{
获取{return collection;}
设置{collection=value;}
}
公共IEnumerator GetEnumerator()
{
返回集合。GetEnumerator();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
抛出新系统。NotImplementedException();
}
公共国际指数(DzieckoAndOpiekun项目)
{
返回集合。索引(项目);
}
公共作废插入(内部索引,DzieckoAndOpiekun项目)
{
收藏。插入(索引,项目);
}
公共无效删除(整数索引)
{
收集、删除(索引);
}
公共DzieckoAndOpiekun本[int索引]
{
得到
{
返回集合[索引];
}
设置
{
集合[索引]=值;
}
}
公共作废添加(DzieckoAndOpiekun项目)
{
此.集合.添加(项);
}
公共void AddRange(IList集合)
{
this.collection.AddRange(collection);
}
公共空间清除()
{
collection.Clear();
}
公共布尔包含(DzieckoAndOpiekun项目)
{
返回集合。包含(项目);
}
public void CopyTo(DzieckoAndOpiekun[]数组,int-arrayIndex)
{
this.collection.CopyTo(array,arrayIndex);
}
公共整数计数
{
获取{返回this.collection.Count;}
}
公共图书馆是只读的
{
获取{return false;}
}
公共厕所拆除(DzieckoAndOpiekun项目)
{
返回此。收藏。删除(项目);
}
}
并在我的ServiceContract实施中使用它:

 public DzieckoAndOpiekunCollection GetChildAndOpiekunByFirstnameLastname(string firstname, string lastname)
    {
        DataTransfer.ChargeInSchoolEntities db = new DataTransfer.ChargeInSchoolEntities();
        DzieckoAndOpiekunCollection result = new DzieckoAndOpiekunCollection();
        if (firstname == null && lastname != null)
        {
            IQueryable<DzieckoAndOpiekun> resultV = from p in db.Dziecko
                                                    where lastname == p.Nazwisko
                                                    select new DzieckoAndOpiekun(
                                                   p.Imie,
                                                   p.Nazwisko,
                                                   p.Opiekun.Imie,
                                                   p.Opiekun.Nazwisko);
            List<DzieckoAndOpiekun> l = resultV.ToList();
            result.AddRange(l);
        }
        if (firstname != null && lastname != null)
        {
            IQueryable<DzieckoAndOpiekun> resultV = from p in db.Dziecko
                                                    where firstname == p.Imie && lastname == p.Nazwisko
                                                    select new DzieckoAndOpiekun(
                                                   p.Imie,
                                                   p.Nazwisko,
                                                   p.Opiekun.Imie,
                                                   p.Opiekun.Nazwisko);
            List<DzieckoAndOpiekun> l = resultV.ToList();
            result.AddRange(l);
        }
        if (firstname != null && lastname == null)
        {
            IQueryable<DzieckoAndOpiekun> resultV = from p in db.Dziecko
                                                    where firstname == p.Imie
                                                    select new DzieckoAndOpiekun(
                                                   p.Imie,
                                                   p.Nazwisko,
                                                   p.Opiekun.Imie,
                                                   p.Opiekun.Nazwisko);
            List<DzieckoAndOpiekun> l = resultV.ToList();
            result.AddRange(l);
        }
        return result;
    }
public DzieckoAndOpiekunCollection GetChildAndOpiekunByFirstnameLastname(string firstname,string lastname)
{
DataTransfer.ChargeInChootenties db=新的DataTransfer.ChargeInChootenties();
DzieckoAndOpiekunCollection结果=新的DzieckoAndOpiekunCollection();
if(firstname==null&&lastname!=null)
{
IQueryable resultV=来自p,单位为db.Dziecko
其中lastname==p.Nazwisko
选择新的DzieckoAndOpiekun(
p、 伊米,
p、 纳兹维斯科,
p、 奥皮肯·伊米,
p、 奥皮肯·纳兹维斯科);
List l=resultV.ToList();
结果:添加范围(l);
}
if(firstname!=null&&lastname!=null)
{
IQueryable resultV=来自p,单位为db.Dziecko
其中firstname==p.Imie&&lastname==p.Nazwisko
选择新的DzieckoAndOpiekun(
p、 伊米,
p、 纳兹维斯科,
p、 奥皮肯·伊米,
p、 奥皮肯·纳兹维斯科);
List l=resultV.ToList();
结果:添加范围(l);
}
if(firstname!=null&&lastname==null)
{
IQueryable resultV=来自p,单位为db.Dziecko
其中firstname==p.Imie
选择新的DzieckoAndOpiekun(
p、 伊米,
p、 纳兹维斯科,
p、 奥皮肯·伊米,
p、 奥皮肯·纳兹维斯科);
List l=resultV.ToList();
结果:添加范围(l);
}
返回结果;
}
我是否在创建自己的数据合同并发送时出错?我询问,因为我在使用方法时出错:/:

操作期间发生异常,导致结果无效。 检查InnerException是否存在异常
[DataContract]
public class DzieckoAndOpiekunCollection : 
    IEnumerable<DzieckoAndOpiekun>, IList<DzieckoAndOpiekun>
{
    [DataMember]
    List<DzieckoAndOpiekun> collection = new List<DzieckoAndOpiekun>();

    [DataMember]
    public List<DzieckoAndOpiekun> Collection
    {
        get { return collection; }
        set { collection = value; }
    }
...