Я почти сошел с ума. Я не понимаю, чего мне не хватает.
Вот мои настройки:
[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, надеясь, что это решит мои проблемы. Это не так. Я попытался переместить мой список в его собственный класс-обертку и передать его в качестве второго параметра (найдено здесь ). Я пытался создать фиктивные методы get для моего объекта 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)
Я добавил методы вставки / обновления / удаления для классов TestClass и TestList.
Кто-нибудь знает, что мне не хватает?