0

もう1つのかなり大きなタイトル。

最初にいくつかの基本的な情報:.NET 4 / EF 4.x / visual studio2010sp1を使用します。

データトランスポートとしてJSONを使用しているWCFRESTベースのサービスがあります。Steve Mitchelotti http://geekswithblogs.net/michelotti/archive/2010/08/21/restful-wcf-services-with-no-svc-file-andの例を使用しました(これについても説明している人がいます)。 -no-config.aspx

私は次のような非常に基本的なモデル/クラスを持っています:

public class DiaryEvent
{ 
    public Int64 ID { get; set; }
    public Int64 CalendarResourceID { get; set; }
    public string Subject { get; set; }
    public string Location { get; set; }
    public DateTime Start { get; set; }
    public DateTime End { get; set; }
    public string Description { get; set; }
    public string Colour { get; set; }
    public string AllDay { get; set; }
}

今のところ、Steveの最小限のWCF / RESTの例で、メソッド/データサービスコントラクトを次のように定義するインターフェイスがあります。

[ServiceContract] interface IDiaryService {[OperationContract] //リストGetEvents(); 文字列GetEvents();

[OperationContract]
DiaryEvent GetEvent(string id);

[OperationContract]
void InsertEvent(DiaryEvent NewDiary);

[OperationContract]
string UpdateEvent(string id, DiaryEvent UpdatedEventData);

}

他のWebGet/WebInvoke装飾もインターフェイスに追加できると思いますが、今のところはそのように見えます。

次に、実際のサービスコードに移ります。今のところ、基本的なリスト<>を使用して、次のようにgeteventsメソッドのテストデータをパイプ処理しています。

WebGet(UriTemplate = "GetEvents", ResponseFormat=WebMessageFormat.Json)
public DiaryEvent GetEvents()
{
    List<DiaryEvent> EventList = new List<DiaryEvent>();
    EventList.Add(new DiaryEvent { AllDay = "false", ID = 1, CalendarResourceID = 1, Start = new DateTime(2012, 07, 18, 15, 0, 0), End = new DateTime(2012, 07, 18, 17, 0, 0), Location = "Golf Club 1", Colour = "#FEDEFF", Description = "Event 1 Description", Subject = "Event 1" });
    EventList.Add(new DiaryEvent { AllDay = "false", ID = 2, CalendarResourceID = 2, Start = new DateTime(2012, 07, 19, 15, 0, 0), End = new DateTime(2012, 07, 18, 17, 0, 0), Location = "Golf Club 1", Colour = "#FEDEFF", Description = "Event 2 Description", Subject = "Event 2" });
    EventList.Add(new DiaryEvent { AllDay = "false", ID = 3, CalendarResourceID = 3, Start = new DateTime(2012, 07, 20, 15, 0, 0), End = new DateTime(2012, 07, 18, 17, 0, 0), Location = "Golf Club 1", Colour = "#FEDEFF", Description = "Event 3 Description", Subject = "Event 3" });

    return EventList;
    //return JsonConvert.SerializeObject(EventList);
}

(stackoverflowには装飾フォーマットの周りの[]に問題があることに注意してください!)

したがって、JSONデータをクライアントに戻すための上記の非常に基本的な例は明らかです。

私のポイントは、おそらくデータベースに接続するためにEF 4.xを使用したかったということです(テーブルはすでに作成されているので、データベースを最初に選択するのが私の選択肢です)。そのEFデータとの間でDiaryEventsモデルを設定するための接続コードを作成するための最善の方法が必要ですか?

誰かが私をいくつかの例/考えのために正しい方向に向けることができたら??

非常に感謝しています!デビッド。

4

2 に答える 2

1

このコードプロジェクトの例から始めるべきだと思います。

http://www.codeproject.com/Articles/127395/Implementing-a-WCF-Service-with-Entity-Framework

于 2012-07-19T11:43:39.813 に答える
-1
ServiceContract]
    public interface IRestServiceImpl
    {
        [OperationContract]
        [System.ServiceModel.Web.WebInvoke(Method = "GET",ResponseFormat=System.ServiceModel.Web.WebMessageFormat.Xml, BodyStyle =System.ServiceModel.Web.WebMessageBodyStyle.Wrapped, UriTemplate = "xml/{id}")]
        string XMLData(string id);
        [OperationContract]
        [System.ServiceModel.Web.WebInvoke(Method = "GET", ResponseFormat = System.ServiceModel.Web.WebMessageFormat.Json, BodyStyle = System.ServiceModel.Web.WebMessageBodyStyle.Wrapped, UriTemplate = "json/{id}")]
        string JSONData(string id);
    }

public class RestServiceImpl : IRestServiceImpl
    {
        #region IRestService Members
        public string XMLData(string id)
        {
            return "You Request Porduct" + ":"+id;

        }
        public string JSONData(string id)
        {
            return "Yor Request Product" +":"+ id;
        }
        #endregion
    }
于 2013-05-05T14:45:59.420 に答える