私はここで私の知恵を終わらせます。私は何が欠けているのか分かりません。私はobject.ItemListを言うときドメインサービスメソッドに渡すときに、オブジェクトのリストは常に空です。
[Invoke]
public void SaveObject(Class1 object) { ... }
、それは常に空です:私は保存する方法を持って自分のドメインサービスで
[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
}
:
は、ここに私の設定です。クライアントに設定されていても、ここに来ると空になります。
私の問題を解決することを期待してSP1 Betaをダウンロードしました。それはしませんでした。私は自分のリストを自分自身のラッパークラスに移して、それを第2のパラメータとして渡すことを試みた(here)。私は私のClass2オブジェクトのためのダミーメソッドを取得しようとしたが、ここに他の記事で示唆されている見つけた。
何も動作していません。私は不満を感じています。
ご意見をいただければ幸いです。私は何かがうまくいくことを期待してランダムな変更を行っているような気がします。
ありがとうございました。
編集: [OK]を、私は今日の基本に戻ってきました。ここに私のクラスである:
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; }
}
このinvokeメソッドが正常に動作し、私はすべてのプロパティを参照することができます。public void SaveTest(TestClassをTCを)
このinvokeメソッドが動作しない、testlistというがnullます。public void SaveTest(TestListClass tlc)
TestClassとTestListクラスの両方のInsert/Update/Deleteメソッドを追加しました。
誰かが迷っていることを知っていますか?
Class1オブジェクトとClass2オブジェクトは、ドメインサービスに由来していますか?またはSilverlightクライアントに転送するためにRIAを使用している自分のクラスですか? – Rus
@Rus - 彼らは自分のクラスで、RIAを使ってSilverlightクライアントに転送しています。 – Tyanna