Я в значительной степени в своем остроумии здесь. Я не понимаю, чего мне не хватает.
Вот моя установка:
[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, надеясь, что она решит мои проблемы. Это не так. Я попытался переместить свой список в свой собственный класс-оболочку и передать его в качестве второго параметра (найдено здесь). Я попытался создать фиктивные методы получения для моего объекта Class2, как я нашел в других сообщениях здесь.
Ничего не работает, и я расстраиваюсь.
Любые предложения будут ценны. Я чувствую, что просто делаю случайные изменения в надежде, что что-то сработает.
Спасибо.
Изменить: Хорошо, сегодня я вернулся к основам. Вот мои классы:
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)
Я добавил методы Insert/Update/Delete для классов TestClass и TestList.
Кто-нибудь знает, что мне не хватает?