我非常关注我的智慧。我不明白我错过了什么。
这是我的设置:
[DataContract]
public partial class Class1
{
[Key()]
[DataMember]
public string ID
{
get; set;
}
...
[Include]
[DataMember]
[Composition]
[Association("FK_Class1ID", "ID", "Class1_ID")]
public List<Class2> PierList
{
get; set;
}
}
[DataContract]
public partial class Class2
{
// This class has 3 values that make the key
[Key()]
[DataMember]
public string Class1_ID
{
get; set;
}
[Key()]
[DataMember]
public int XID
{
get; set;
}
[Key()]
[DataMember]
public int YID
{
get; set;
}
[DataMember]
public EnumType Type
{
get; set;
}
...
}
[DataContract]
public enum EnumType
{
[EnumMember]
Val1,
[EnumMember]
Val2,
[EnumMember]
Val3,
[EnumMember]
Val4
}
在我的域名服务中,我有一个保存方法:
[Invoke]
public void SaveObject(Class1 object) { ... }
当我说object.ItemList时,它总是为空的。即使它是在客户端上设置的,当我到达时它也是空的。
我已下载SP1 Beta,希望能解决我的问题。它没有。我已经尝试将我的列表移动到它自己的包装类中,并将其作为第二个参数传递(找到here)。我已经尝试为我的Class2对象制作虚拟get方法,正如我在其他帖子中所建议的那样。
没有什么工作,我感到沮丧。
任何建议都将不胜感激。我觉得我只是随意改变,希望能有所作为。
感谢。
编辑:好的,我今天回到了基础。这是我的课程:
public partial class TestClass
{
[Key]
public string ID { get; set; }
public string ListID { get; set; }
public int X { get; set; }
public int Y { get; set; }
public string Type { get; set; }
}
public partial class TestListClass
{
[Key]
public string ListID { get; set; }
[Include]
[Composition]
[Association("TestListClass_ID", "ListID", "ListID")]
public EntitySet<TestClass> TestList { get; set; }
}
这个调用方法工作正常,我可以看到所有属性:public void SaveTest(TestClass tc)
此调用方法不起作用,TestList为null:public void SaveTest(TestListClass tlc)
我为TestClass和TestList类添加了Insert / Update / Delete方法。
有谁知道我错过了什么?