none
PostgreSQLでASP.NET Dynamic Dataサイトを構築したい

回答

  • ASP.NET Dynamic DataはよくADO.NET Entity Frameworkと組み合わされますが、Linq to SQLと組み合わせることも可能だそうです。そちらは試されましたか?

    ADO.NET Entity Frameworkには3つのモデルがあります。J.Hashimotoさんが試されたのは.NET Framework 3.5 SP1でEntity Frameworkが導入された当初からあるDatabase Firstです。これは既存のデータベースからメタデータを取得しモデルを構築します。そのため、通常のデータベースプロバイダーではダメで、メタデータを取得できる専用のインターフェースを持つ必要があるようです。

    次に.NET Framework 4で導入されたModel Firstです。Visual Studio 2008 SP1でもモデル作成自体はできましたが、ObjectContext.CreateDatabase()が追加されたため、モデルを元にデータベースを作成できるようになりました。使用されている「dot connect for PostgreSQL」はこの機能に対応しているようです。

    最後にCode Firstです。まだリリースされていませんが、クラスを定義するとそれを元にモデルとデータベースが作成されるというものです。

    ちなみにVisual Studio / SQL Server / IIS / ASP.NET / WindowsとMicrosoftの囲い込み戦略でしょうから、SQL Serverの代わりにPostgreSQLにすれば手間がかかるのは当然のことだと思います。IISの代わりにApacheに変えても同じことになると思います。素直に囲い込まれるか、手間をかけるか、どちらかを選ぶのが順当かな、と。それでもLAPPよりは楽ですよね?

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月10日 12:43
  • Visual Studio 2010だと「ASP.NET 動的データ LINQ TO SQL Webサイト」というテンプレートがあるんですけどね。

    Visual Studio 2008用にはチュートリアル : スキャフォールディングを使用した新しい Dynamic Data Web サイトの作成がありましたが、この手順の操作をされた上でのエラーでしょうか?

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月10日 15:27
  • まず、PostgreSQLでEntity Frameworkが使えるのかどうかを調べる必要があるかと。

    #ちなみに、LINQ to SQL はSQLサーバー専用だったはず。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    こんな記事があるので、対応は可能かなぁ、と思いますが、自分で試したことはありません。

    > 最後にCode Firstです。まだリリースされていませんが、クラスを定義するとそれを元に
    > モデルとデータベースが作成されるというものです。

    Code FirstはEF4.1としてリリース済みです。
    ただ、CodeFirstではDBContextを利用する形になるので、これがDynamicDataにまだ対応していないんじゃないかと思います(未確認)。

    データベースファーストでモデルを作成できればあとはつながると思うので、上記URLを参考にモデルの作成ができるかどうか試してもらうのがよいかと思います。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)
    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月12日 2:18
  • > ちなみに、LINQ to SQL はSQLサーバー専用だったはず。

    LinqToSQL そのものは、MSDN によると「リレーショナルデータをオブジェクトとして管理するためのランタイムインフラストラクチャを指す」…つまり、具体的な実装でいえば『XML や属性をベースにしたメタ テーブルの構築』と『IQueryable とクエリプロバイダによる CRUD』あたり構成されているもの…ということになりますね。

    Visual Studio や System.Data アセンブリがサポートするのは SQL Server のみですが、サードパーティ製であれば Oracle や SQLite 等は手軽に利用できるライブラリが揃っていますので、お手軽に LinqToSQL で利用できるといえるかと思います。(サードパーティ製品によってはVisual Studio 上での SQL Server と同等な開発環境への統合等まであったりします)

    蛇足でした。

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月12日 3:44
  • > まぁ、定義だけの問題かもしれないけど

    はい。なので「MSDNでは」と、Microsoft が LinqToSQL をどういった技術として定義しているかを引用しました。あくまで、上記の用語の意味としては、「Microsoft が MSDN で定義している言葉の上では」ということで書きました。そのように読めない内容でしたらすいません。

    > LINQ to XXXと他の呼び方をしてるのは見たことある、、、と思いますが、

    技術名と機能名に類するものを混同されているのではないかと思います。「XXX に対して LinqToSQL でアクセスできるライブラリ」に対して「Linq to XXX」などと呼ぶことはよくあると思いますが、あくまでライブラリの名前であって技術を指すときは LinqToSQL と呼んでいるかな、と思います。

    > 疑問2:もしサードパーティ製のものを「LINQ to SQL」と呼ぶとして、DynamicDataはサポートしますか?

    まあ、そのあたりは蛇足ですと断っている通り、『「Microsoft の Linq to SQL という技術」は、SQL Server に固有の技術ではありません』以上のことは一切書いていません。(スレッドを見ている人全体に誤解を与えないための蛇足であって、質問者に有益な情報ではないものでした)

    使用したことはありませんが、Google Codes に DBLinq という汎用クエリプロバイダがあり、そちらでは MySQL もサポートしようとしていたと思います。1年以上前の話なので、今はどうなっているかはわかりませんが、J.Hashimoto さんが使えるものかもしれません。

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月12日 10:26
  • J.Hashimotoさん、こんにちは!

    ASP.NET Dynamic Data を使ったWebサイトの構築方法についてです。

    私の、とんでもない勘違いでしたら、ご容赦願います。

    "MCTS Self-Paced Training Kit (Exam 70-515): Web Applications Development with Microsoft® .NET Framework 4"
    http://oreilly.com/catalog/9780735627406/

    上記の書籍の756ページには、次のような記述があります。


    To start creating a new website with Dynamic Data, you typically follow these steps:

    1. Create a scaffold site that includes the default presentation layer templates used by ASP.NET Dynamic Data.

    2. Define a data context that represents your data source and model by using either LINQ to SQL, LINQ to Entities, or a custom model.

    3. Register your data context with the website’s MetaModel instance inside the Global.asax file.

    4. Customize the URL routing, page and field templates, business logic, and validation in the website. (This step is optional.)

    You will walk through each of these steps in the upcoming sections.


    J.Hashimotoさんの次のページを読んだのですが、上記3の作業が必要なのではないかな、と思いました。

    http://d.hatena.ne.jp/JHashimoto/20110709/1310090590

    私自身、Postgre-SQLの環境をすぐに構築できないので、想像でお答えすることになってしまい、申し訳ないのですが、参考になれば幸いです。

    ------------------------------------------------
     名古屋ソフトウェアセンター 林広宣(MCPD)

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:07
    2011年7月15日 3:40
  • J.Hashimotoさん、こんにちは!

     

    すみません、私はやはり、勘違いしていたようです。

    前回私が指摘した内容は、PostgreSQLに接続できてから、その後の話しでした。

     

    つまり、そもそも、Entity Data Modelを選ぶウィザードで、PostgreSQLが、一覧に登場しないことが、

    やはり問題だと思います。

     

    http://www.devart.com/dotconnect/postgresql/articles/tutorial_ef.html

     

    上記のURLによると、

    Requirements

    In order to connect to PostgreSQL server you need the server itself running, dotConnect for PostgreSQL installed and IDE running. ADO.NET Entity Framework requires .NET Framework 3.5 Service Pack 1, Visual Studio 2008 Service Pack 1, and PostgreSQL server 8.0 or higher. Note that Entity Framework support is not available in Standard Edition of dotConnect for PostgreSQL.

    と書いてあり、 dotConnect for PostgreSQL のエディションが、Standardではサポートしないと書いてありますが、このあたりはいかがでしょうか?

     

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

     

     

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:07
    2011年7月15日 9:18
  • J.Hashimotoさん、こんにちは!

    >>Entity Data ModelのウィザードでPostgreSQLに接続するのは無理なようですね。

    どうやら、そのようですが、さきほどの私の投稿のあと、次のことに気づきました。

    小野@どっとねっとふぁんさんが、次のページを紹介しています。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    このページをよく読むと、ウィザードを使わずに、edmgen.exe を使って、コマンドプロンプトで、Entity Data Modelに必要な3つのXMLファイルと2つのC#のソースコードを生成しています。

    危うく忘れるところでしたが、ウィザードではだめでも、edmgen.exe だったらうまくいくかもしれません。

    edmgen.exe は、C:\WINDOWS\Microsoft.NET\Framework\v3.5 にあります。

    ただ、私も、edmgen.exeについては、MCP試験を受験するとき少し勉強しただけで、実務で使ったことがなく、詳しい使い方はよくわからないまま、というのが正直なところです。

    マイクロソフトによると、LINQ to SQLよりも、Entity Frameworkの方がお奨めのようですので(Data Access Layer部を隠蔽できるから)、LINQ to SQL を試す前に、最後にもう1度試してみる価値はあるかもしれません。


    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

     


    • 回答としてマーク J.Hashimoto 2011年7月20日 4:07
    2011年7月15日 12:37
  • 記事のとおりにやってみましたが、サンプルコードの「var factory = DbProviderFactories.GetFactory("Npgsql");」の部分で以下の例外が発生しました。

    「登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。」(InnerExceptionはnull)

    データプロバイダの登録に失敗しているようですが、GACには確かに登録されています。

    J.Hashimotさん、こんにちは!

    うまく行きませんでしたか?
    私の方でも、時間ができたので、PostgreSQLをインストールして、追試してみました。

    PostgreSQLのバージョン:8.3.15
    Npgsqlのバージョン:2.0.11.91

    そして、下記のサイトが紹介している方法と、ほぼ同じような方法で、試しました。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    「ほぼ同じ」というのは、私の場合は、コンソールアプリケーションではなく、Windowsフォームアプリケーションで作成したということと、プロジェクト名が、NpgsqlEntityFWTest ではなく、安直な名前(WindowsFormApplication1)である、ということです。

    結果は、上記サイトの記述どおり、問題なく動作しました。
    (ついでに、これは自分でも驚いたのですが、我が家の環境は、VS2008 Express Editionですが、edmgenを使うと、Entity Frameworkできる、ということもわかりました。Express Editionしかもっていない方には朗報ですね。)

    ですから、J.Hashimotさんのやり方か設定に問題があるのではないかと思います。

    (1)まず、Npgsqlはうまくインストールできていますでしょうか?

    GACには登録されているようですが、念のために、下記のコードがエラーなく動作するか試してみてください。
    このコードが動作すれば、Npgsqlのインストールは問題ないと言っていいと思います。

    (参照設定が必要です)

    using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection()) {
     conn.ConnectionString = "(Postgresの接続文字列)";
     conn.Open();
     //何か処理。あるいは何もしなくてもよい。
     conn.Close();
    }


    (2)Machine.config の記述が正しいでしょうか?

    DbProviderFactoriesが正しく動作するためには、machine.config への正しい登録が必要です。

    上記URLで紹介されているXMLタグをそのまま貼り付け、バージョン番号だけGACなどに登録されているものに変えればいいと思います。
    (PublicKeyTokenは、上記URLのものと同じでした)

    記述する場所にも気をつけてください。<DbProviderFactories> と </DbProviderFactories>の間である必要があります。
    ここには、日頃よく使っている、System.Data.SqlClientなどが登場しますから、わりと探しやすいと思います。

    注意点として、machine.configを変更したら、PCを再起動させておくといいと思います。

    次に、machine.config に正しく登録されているかどうか、確認するプログラムを記述してみます。

    Windowsフォームアプリケーションを作成し、Form1にButtonとDataGridViewを配置し、ボタンのイベントプロシージャに、次のように記述します。
    (System.Data.Commonをusingしておいてください)

     this.dataGridView1.DataSource = DbProviderFactories.GetFactoryClasses();

    ボタンをクリックすると、machine.configに登録されている、データベースプロバイダがすべて一覧表示されます。
    Npgsqlを含めて、たぶん6種類のプロバイダが一覧表示されるはずです。
    この中に、Npgsql が見当たらなかったら、machine.config の登録が正しく行われていないことになります。


    (3)Entity Frame Workの接続文字列

    これは、上記(2)までがうまくいくようになってからの話ですが、私が、一瞬、戸惑った部分を記しておきます。

    上記URLのEntity Frame Workの接続文字列は、下記のようになっています。

     "metadata=res://*/NpgsqlEntityFWTest.SampleDB.csdl|res://*/NpgsqlEntityFWTest.SampleDB.msl|res://*/NpgsqlEntityFWTest.SampleDB.ssdl;provider=Npgsql;provider connection string=&quot;Server=localhost;Port=5432;UserID=postgres;Password=postgres;Database=sample&quot;" 
     
    ここで、NpgsqlEntityFWTest は、現在開いているVisual Studioのプロジェクト名です。
    (今回の私の場合だと、WindowsFormApplication1となります)
     
    SampleDB は、さきほど、edmgenで指定した、/project パラメータで指定した値です。
    これは、今回のEntity Data Modelの名前空間にもなるので、コード中で、using指定などが必要です。

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)


    • 回答としてマーク J.Hashimoto 2011年7月20日 4:06
    2011年7月18日 7:11
  • 後は、「Dynamic Data エンティティ Webサイト」で作成するときに、Entity Frameworkの接続文字列の書き方がわかりません。

    以下のページを参考に、接続文字列を設定しました。

    接続文字列を定義する方法 (Entity Framework)

    <add
     name="SampleDBContext"
     connectionString="metadata=.\SampleDB.csdl|.\SampleDB.ssdl|.\SampleDB.msl;provider=Npgsql;provider connection string=&quot;Server=XXX;Port=5432;UserID=XXX;Password=XXX;Database=XXX&quot;"
     providerName="System.Data.EntityClient"/>
    

     結果は以下のエラーでした。

    「指定されたメタデータ パスは無効です。有効なパスは、既存のディレクトリ、拡張子が '.csdl'、'.ssdl'、または '.msl' の既存のファイル、または組み込みリソースを識別する URI のいずれかでなければなりません。 」

     

    J.Hashimotoさん、こんにちは!

    前回の書き込みで、私は「手詰まり状態」などと書きましたが、「手詰まり」でも何でもなかったわけですよね。

    つまり、あと一歩というか、あと少しで、Dynamic Data Webページが作成できるという状態で、私は、勝手に一人で「手詰まって」いただけのことですね。(笑)

    結論から言うと、ウィザードを使わずに、Dynamic Data Webページできました!

    私のやった方法は、

    (1)edmgenで作成された5つのファイルを、App_Codeフォルダにコピーする。(App_Codeでなくてもいいかもしれません)

    (2) Global.asaxファイルの、例の部分を書きのように書き換える。

       model.RegisterContext(typeof(SampleDB.SampleDBContext), new ContextConfiguration() { ScaffoldAllTables = true });

    SampleDB.SampleDBContext と、最後のfalseをtrueにしました。

    (3)web.configは、次のとおり’

      <add name="SampleDBContext"
        connectionString="metadata=~/App_Code/SampleDB.csdl|~/App_Code/SampleDB.msl|~/App_Code/SampleDB.ssdl;provider=Npgsql;provider connection string=&quot;Server=localhost;Port=5432;UserID=postgres;Password=postgres;Database=sample&quot;"
        providerName="System.Data.EntityClient"/>

    確か、ASP.NETでは、.\ ではなくて、~/ というような書き方がよかったのだと思います。

     

    (4)必要な参照の追加を行う

     

    J.Hashimotoさんは、いかがですか?

     

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:06
    2011年7月20日 3:58

すべての返信

  • ASP.NET Dynamic DataはよくADO.NET Entity Frameworkと組み合わされますが、Linq to SQLと組み合わせることも可能だそうです。そちらは試されましたか?

    ADO.NET Entity Frameworkには3つのモデルがあります。J.Hashimotoさんが試されたのは.NET Framework 3.5 SP1でEntity Frameworkが導入された当初からあるDatabase Firstです。これは既存のデータベースからメタデータを取得しモデルを構築します。そのため、通常のデータベースプロバイダーではダメで、メタデータを取得できる専用のインターフェースを持つ必要があるようです。

    次に.NET Framework 4で導入されたModel Firstです。Visual Studio 2008 SP1でもモデル作成自体はできましたが、ObjectContext.CreateDatabase()が追加されたため、モデルを元にデータベースを作成できるようになりました。使用されている「dot connect for PostgreSQL」はこの機能に対応しているようです。

    最後にCode Firstです。まだリリースされていませんが、クラスを定義するとそれを元にモデルとデータベースが作成されるというものです。

    ちなみにVisual Studio / SQL Server / IIS / ASP.NET / WindowsとMicrosoftの囲い込み戦略でしょうから、SQL Serverの代わりにPostgreSQLにすれば手間がかかるのは当然のことだと思います。IISの代わりにApacheに変えても同じことになると思います。素直に囲い込まれるか、手間をかけるか、どちらかを選ぶのが順当かな、と。それでもLAPPよりは楽ですよね?

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月10日 12:43
  • 返信ありがとうございます。

    ASP.NET Dynamic DataはよくADO.NET Entity Frameworkと組み合わされますが、Linq to SQLと組み合わせることも可能だそうです。そちらは試されましたか?

    はい。先のBlogの方に書きましたが、Database Firstで試したところ「選択されたオブジェクトにはサポート外のデータ プロバイダが使用されています。」というエラーメッセージが表示されました。

    次に.NET Framework 4で導入されたModel Firstです。Visual Studio 2008 SP1でもモデル作成自体はできましたが、ObjectContext.CreateDatabase()が追加されたため、モデルを元にデータベースを作成できるようになりました。使用されている「dot connect for PostgreSQL」はこの機能に対応しているようです。

    Model Firstは試してませんでした。明日やってみます。

     


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/

    2011年7月10日 14:25
  • Visual Studio 2010だと「ASP.NET 動的データ LINQ TO SQL Webサイト」というテンプレートがあるんですけどね。

    Visual Studio 2008用にはチュートリアル : スキャフォールディングを使用した新しい Dynamic Data Web サイトの作成がありましたが、この手順の操作をされた上でのエラーでしょうか?

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月10日 15:27
  • まず、PostgreSQLでEntity Frameworkが使えるのかどうかを調べる必要があるかと。

    #ちなみに、LINQ to SQL はSQLサーバー専用だったはず。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    こんな記事があるので、対応は可能かなぁ、と思いますが、自分で試したことはありません。

    > 最後にCode Firstです。まだリリースされていませんが、クラスを定義するとそれを元に
    > モデルとデータベースが作成されるというものです。

    Code FirstはEF4.1としてリリース済みです。
    ただ、CodeFirstではDBContextを利用する形になるので、これがDynamicDataにまだ対応していないんじゃないかと思います(未確認)。

    データベースファーストでモデルを作成できればあとはつながると思うので、上記URLを参考にモデルの作成ができるかどうか試してもらうのがよいかと思います。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)
    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月12日 2:18
  • > ちなみに、LINQ to SQL はSQLサーバー専用だったはず。

    LinqToSQL そのものは、MSDN によると「リレーショナルデータをオブジェクトとして管理するためのランタイムインフラストラクチャを指す」…つまり、具体的な実装でいえば『XML や属性をベースにしたメタ テーブルの構築』と『IQueryable とクエリプロバイダによる CRUD』あたり構成されているもの…ということになりますね。

    Visual Studio や System.Data アセンブリがサポートするのは SQL Server のみですが、サードパーティ製であれば Oracle や SQLite 等は手軽に利用できるライブラリが揃っていますので、お手軽に LinqToSQL で利用できるといえるかと思います。(サードパーティ製品によってはVisual Studio 上での SQL Server と同等な開発環境への統合等まであったりします)

    蛇足でした。

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月12日 3:44
  • えと、

    疑問1:サードパーティ製のLINQによってDBに接続するライブラリを「LINQ to SQL」と呼ぶのでしょうか?

    LINQ to XXXと他の呼び方をしてるのは見たことある、、、と思いますが、これらをLINQ to SQLと呼びますか?
    まぁ、定義だけの問題かもしれないけど、こういった掲示板での文字だけでのやりとりだと何をどう呼ぶか、で混乱が発生しないとも限らないと思いますので。

    疑問2:もしサードパーティ製のものを「LINQ to SQL」と呼ぶとして、DynamicDataはサポートしますか?

    たぶんしないと思います。
    PostgreSQLに対するLINQ to SQLが存在して、それがDynamicDataに対応するのであればこの質問に対してLINQ to SQLでがんばってみたら、という回答もありだと思うのですが、そういうものがないなら質問者に回り道をさせるだけのよーな。

    私の言葉の使い方がちがう、考え方が間違っている、ということは当然あると思いますが、私自信としては上記のような考え方から「LINQ to SQL」をサードパーティ製のものに対して使うべきじゃないし、そうであれば「LINQ to SQL」はSQL Serverにしか対応しないと言うべきだと考えています。

     


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)
    2011年7月12日 9:01
  • > まぁ、定義だけの問題かもしれないけど

    はい。なので「MSDNでは」と、Microsoft が LinqToSQL をどういった技術として定義しているかを引用しました。あくまで、上記の用語の意味としては、「Microsoft が MSDN で定義している言葉の上では」ということで書きました。そのように読めない内容でしたらすいません。

    > LINQ to XXXと他の呼び方をしてるのは見たことある、、、と思いますが、

    技術名と機能名に類するものを混同されているのではないかと思います。「XXX に対して LinqToSQL でアクセスできるライブラリ」に対して「Linq to XXX」などと呼ぶことはよくあると思いますが、あくまでライブラリの名前であって技術を指すときは LinqToSQL と呼んでいるかな、と思います。

    > 疑問2:もしサードパーティ製のものを「LINQ to SQL」と呼ぶとして、DynamicDataはサポートしますか?

    まあ、そのあたりは蛇足ですと断っている通り、『「Microsoft の Linq to SQL という技術」は、SQL Server に固有の技術ではありません』以上のことは一切書いていません。(スレッドを見ている人全体に誤解を与えないための蛇足であって、質問者に有益な情報ではないものでした)

    使用したことはありませんが、Google Codes に DBLinq という汎用クエリプロバイダがあり、そちらでは MySQL もサポートしようとしていたと思います。1年以上前の話なので、今はどうなっているかはわかりませんが、J.Hashimoto さんが使えるものかもしれません。

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:08
    2011年7月12日 10:26
  • > 技術名と機能名に類するものを混同されているのではないかと思います。

    私が?あなたが?(w

    http://msdn.microsoft.com/ja-jp/library/bb386976.aspx

    「 LINQ to SQL は .NET Framework version 3.5 のコンポーネントであり、」と記述されていますね。
    これもMSDNの記述ですが。

    まぁ、私のとらえ方が狭いのかもしれませんが。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)
    2011年7月12日 11:30
  • こんにちは、Lundiと申します。

    J.Hashimotoさんのご質問とは、少し離れてしまうかもしれませんが、LINQ to SQL について言及させていただきます。

    小野@どっとねっとふぁんさんは、次のURLを提示しています。

    http://msdn.microsoft.com/ja-jp/library/bb386976.aspx .....(1)

    ここには、下記のような記述があります。

    「LINQ to SQL は .NET Framework version 3.5 のコンポーネントであり、リレーショナル データをオブジェクトとして管理するためのランタイム インフラストラクチャを提供します。 」

    従って、これだけ読むと、LINQ to SQL は、一般的なリレーショナルデータベース全体に対する技術であるかのように理解できますが、実は、上記のURLは、下記のトピックのサブトピックとなっています。
    つまり、

    http://msdn.microsoft.com/ja-jp/library/kb9s9ks0.aspx .....(2)

    ここの冒頭には、次のように記述されています。

    「このセクションでは、.NET Framework Data Provider for SQL Server (System.Data.SqlClient) 固有の機能および動作について説明します。」

    再度確認しますと、(2)が親で、(1)はその子供のトピックということになります。
    つまり、(1)の文章で登場する「リレーショナル データ」とは、「.NET Framework Data Provider for SQL Server」ということになるのではないかと思います。

    実は、私も、気になったので、いくつかの文献に当ってみました。
    (下記は全てMicrosoft Pressのものです)


    "Microsoft® ADO.NET 4 Step by Step"
    http://oreilly.com/catalog/9780735638884/

    この書籍では、LINQを、LINQ to DataSet、LINQ to Entities、LINQ to SQLの3つに分けています。
    このうち、第20章「LINQ to SQL」には、331ページに次のような記述があります。

    In many ways, LINQ to SQL feels like LINQ to Entities, especially when using its class-generation feature. However, LINQ to SQL was built specifically to interact with SQL Server database tables, and its queries reflect that closer relationship.

    私なりに訳しますと:
    「多くの場合、LINQ to SQL は、LINQ to Entities に似ていると感じる。特に(DBから)クラスを生成するような場合においてはそう感じる。しかし、LINQ to SQL は、特にSQL Serverのテーブルと協調するために製作されており、LINQ to SQLのクエリーは、(LINQ to Entities よりも)DB寄りの使い方ができる」


    "Programming Microsoft® LINQ in Microsoft .NET Framework 4"
    http://oreilly.com/catalog/9780735640573/

    この書籍の21ページでは、LINQ to ADO.NET の説明として、やはり、LINQ to DataSet、LINQ to Entities、LINQ to SQLの3つに分け、次のように記述しています。

    ■ LINQ to SQL
    Handles the mapping between custom types in the .NET Framework and the physical table schema in SQL Server.
    ■ LINQ to Entities
    An Object Relational Mapping (ORM) that—instead of using the physical database as a persistence layer—uses a conceptual Entity Data Model (EDM).
    The result is an abstraction layer that is independent from the physical data layer.
    ■ LINQ to DataSet
      Enables querying a DataSet by using LINQ.
      LINQ to SQL and LINQ to Entities have similarities because they both access information

     

    (LINQ to SQL の訳:the .NET Framework のカスタム型と、SQLサーバーの物理テーブルのスキーマとの間のマッピングを扱います)


    このように見ていくと、どうやら、LINQ to SQL は、リレーショナルデータベースとして、SQL Server だけを想定しているようです。

     

     名古屋ソフトウェアセンター 林広宣(MCPD)






    2011年7月14日 4:52
  • Visual Studio 2008用にはチュートリアル : スキャフォールディングを使用した新しい Dynamic Data Web サイトの作成がありましたが、この手順の操作をされた上でのエラーでしょうか?

    はい。「Dynamic Data エンティティWebサイト」を選択した場合は、「ADO.NET エンティティ データ モデル」を新規作成しましたが、データベースの選択ウィザードで、SQL Serverのデータープロバイダーしか表示されませんでした。
    「Dynamic Data Web サイト」を選択した場合は、「LINQ to SQL クラス」を新規作成し、サーバーエクスプローラーで接続することはできましたが、テーブルをデザイナーにドラッグ&ドロップすると、「選択されたオブジェクトにはサポート外のデータ プロバイダが使用されています。」というエラーが発生しました。

    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月15日 0:37
  • 次に.NET Framework 4で導入されたModel Firstです。Visual Studio 2008 SP1でもモデル作成自体はできましたが、ObjectContext.CreateDatabase()が追加されたため、モデルを元にデータベースを作成できるようになりました。使用されている「dot connect for PostgreSQL」はこの機能に対応しているようです。

    Model Firstは試してませんでした。明日やってみます。

    すでにデータベースは構築済みなので、そもそもModel Firstは無理なことに気づきました。他の方法を試してみます。


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月15日 0:46
  • http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    こんな記事があるので、対応は可能かなぁ、と思いますが、自分で試したことはありません。

    記事のとおりにやってみましたが、サンプルコードの「var factory = DbProviderFactories.GetFactory("Npgsql");」の部分で以下の例外が発生しました。

    「登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。」(InnerExceptionはnull)

    データプロバイダの登録に失敗しているようですが、GACには確かに登録されています。


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月15日 1:03
  • J.Hashimotoさん、こんにちは!

    ASP.NET Dynamic Data を使ったWebサイトの構築方法についてです。

    私の、とんでもない勘違いでしたら、ご容赦願います。

    "MCTS Self-Paced Training Kit (Exam 70-515): Web Applications Development with Microsoft® .NET Framework 4"
    http://oreilly.com/catalog/9780735627406/

    上記の書籍の756ページには、次のような記述があります。


    To start creating a new website with Dynamic Data, you typically follow these steps:

    1. Create a scaffold site that includes the default presentation layer templates used by ASP.NET Dynamic Data.

    2. Define a data context that represents your data source and model by using either LINQ to SQL, LINQ to Entities, or a custom model.

    3. Register your data context with the website’s MetaModel instance inside the Global.asax file.

    4. Customize the URL routing, page and field templates, business logic, and validation in the website. (This step is optional.)

    You will walk through each of these steps in the upcoming sections.


    J.Hashimotoさんの次のページを読んだのですが、上記3の作業が必要なのではないかな、と思いました。

    http://d.hatena.ne.jp/JHashimoto/20110709/1310090590

    私自身、Postgre-SQLの環境をすぐに構築できないので、想像でお答えすることになってしまい、申し訳ないのですが、参考になれば幸いです。

    ------------------------------------------------
     名古屋ソフトウェアセンター 林広宣(MCPD)

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:07
    2011年7月15日 3:40
  • 使用したことはありませんが、Google Codes に DBLinq という汎用クエリプロバイダがあり、そちらでは MySQL もサポートしようとしていたと思います。1年以上前の話なので、今はどうなっているかはわかりませんが、J.Hashimoto さんが使えるものかもしれません。

    DBLinqをコンソールアプリで試し、PostqreSQLで「LINQ to SQL」が可能なことは確認できました。

     

    using System;
    using System.Data.Linq.Mapping;
    using System.Linq;
    using DbLinq.PostgreSql;
    using Devart.Data.PostgreSql;
    
    namespace ConsoleApplication1 {
     class Program {
     static void Main(string[] args)
     {
      const string ConnectionString = "......";
      MasterDataContext context = new MasterDataContext(new PgSqlConnection(ConnectionString));
    var fugas = context.GetTable<fuga_table>(); var q = from fuga in fugas select fuga; foreach (fuga_table table in q) { Console.WriteLine("{0} {1}", table.fuga_id, table.fuga_name); } } } class MasterDataContext: PgsqlDataContext { public MasterDataContext(PgSqlConnection c) : base(c) { } } [Table] public class fuga_table { [Column] public int fuga_id; [Column] public string fuga_name; } }

     


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/

    • 編集済み J.Hashimoto 2011年7月15日 6:27 クラス名を他の投稿に合わせた
    2011年7月15日 5:52
  • To start creating a new website with Dynamic Data, you typically follow these steps:

    1. Create a scaffold site that includes the default presentation layer templates used by ASP.NET Dynamic Data.

    2. Define a data context that represents your data source and model by using either LINQ to SQL, LINQ to Entities, or a custom model.

    3. Register your data context with the website’s MetaModel instance inside the Global.asax file.

    4. Customize the URL routing, page and field templates, business logic, and validation in the website. (This step is optional.)

    You will walk through each of these steps in the upcoming sections.


    J.Hashimotoさんの次のページを読んだのですが、上記3の作業が必要なのではないかな、と思いました。

    http://d.hatena.ne.jp/JHashimoto/20110709/1310090590

    Lundi.hさん、こんにちは。

    Global.asaxのコードをみると、確かに以下のコメントがありました。

    //     重要: データ モデルの登録
    // この行のコメントを解除して、LINQ to SQL クラスや ADO.NET Entity Data モデルを
    // ASP.NET Dynamic Data に対して登録します。ScaffoldAllTables = true のみを設定するのは、
    // すべてのテーブルでスキャフォールディング ビュー (つまりテンプレート化されたビュー) を 
    // サポートする場合です。個別のテーブルのスキャフォールディングを制御するには、 
    // テーブルの部分クラスを作成し、その部分クラスに [Scaffold(true)] 属性を適用します。
    // メモ: 必ず "YourDataContextType" を、使用しているアプリケーションのデータ 
    // コンテキスト クラスの名前に変更してください。
    //model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });
    
    

    さっそく以下の一行を足してみました。

    model.RegisterContext(typeof(MasterDataContext), new ContextConfiguration() { ScaffoldAllTables = false });
    

    さらにAPP_Codeに以下のソースコードを追加しました。

    ・fuga_table.cs

    using System.Data.Linq.Mapping;
    
    [Table]
    public class fuga_table
    {
     [Column]
     public int fuga_id;
    
     [Column]
     public string fuga_name;
    }
    

    ・MasterDataContext.cs

    using DbLinq.PostgreSql;
    using Devart.Data.PostgreSql;
    
    public class MasterDataContext : PgsqlDataContext {
     public MasterDataContext(PgSqlConnection c)
      : base(c) {
     }
    }
    
    

    ここで疑問がわいてきました。接続文字列はどこに設定すればよいのでしょうか?

     


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月15日 6:24
  • J.Hashimotoさん、こんにちは!

     

    すみません、私はやはり、勘違いしていたようです。

    前回私が指摘した内容は、PostgreSQLに接続できてから、その後の話しでした。

     

    つまり、そもそも、Entity Data Modelを選ぶウィザードで、PostgreSQLが、一覧に登場しないことが、

    やはり問題だと思います。

     

    http://www.devart.com/dotconnect/postgresql/articles/tutorial_ef.html

     

    上記のURLによると、

    Requirements

    In order to connect to PostgreSQL server you need the server itself running, dotConnect for PostgreSQL installed and IDE running. ADO.NET Entity Framework requires .NET Framework 3.5 Service Pack 1, Visual Studio 2008 Service Pack 1, and PostgreSQL server 8.0 or higher. Note that Entity Framework support is not available in Standard Edition of dotConnect for PostgreSQL.

    と書いてあり、 dotConnect for PostgreSQL のエディションが、Standardではサポートしないと書いてありますが、このあたりはいかがでしょうか?

     

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

     

     

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:07
    2011年7月15日 9:18
  • Requirements

    In order to connect to PostgreSQL server you need the server itself running, dotConnect for PostgreSQL installed and IDE running. ADO.NET Entity Framework requires .NET Framework 3.5 Service Pack 1, Visual Studio 2008 Service Pack 1, and PostgreSQL server 8.0 or higher. Note that Entity Framework support is not available in Standard Edition of dotConnect for PostgreSQL.

    と書いてあり、 dotConnect for PostgreSQL のエディションが、Standardではサポートしないと書いてありますが、このあたりはいかがでしょうか?

    Lundi.hさん、わざわざ調べてくださってありがとうございます。

    私が使用しているのは、dotConnect for PostgreSQLのExpressエディションです。申し訳ありません。環境を記載するときに漏れてました。

    Entity Data ModelのウィザードでPostgreSQLに接続するのは無理なようですね。

    「LINQ to SQL」で解決できるか試行錯誤してみようと思います。


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    • 編集済み J.Hashimoto 2011年7月18日 22:06 エディションの名前が誤っていたのを修正
    2011年7月15日 10:06
  • J.Hashimotoさん、こんにちは!

    >>Entity Data ModelのウィザードでPostgreSQLに接続するのは無理なようですね。

    どうやら、そのようですが、さきほどの私の投稿のあと、次のことに気づきました。

    小野@どっとねっとふぁんさんが、次のページを紹介しています。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    このページをよく読むと、ウィザードを使わずに、edmgen.exe を使って、コマンドプロンプトで、Entity Data Modelに必要な3つのXMLファイルと2つのC#のソースコードを生成しています。

    危うく忘れるところでしたが、ウィザードではだめでも、edmgen.exe だったらうまくいくかもしれません。

    edmgen.exe は、C:\WINDOWS\Microsoft.NET\Framework\v3.5 にあります。

    ただ、私も、edmgen.exeについては、MCP試験を受験するとき少し勉強しただけで、実務で使ったことがなく、詳しい使い方はよくわからないまま、というのが正直なところです。

    マイクロソフトによると、LINQ to SQLよりも、Entity Frameworkの方がお奨めのようですので(Data Access Layer部を隠蔽できるから)、LINQ to SQL を試す前に、最後にもう1度試してみる価値はあるかもしれません。


    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

     


    • 回答としてマーク J.Hashimoto 2011年7月20日 4:07
    2011年7月15日 12:37
  • 小野@どっとねっとふぁんさんが、次のページを紹介しています。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    このページをよく読むと、ウィザードを使わずに、edmgen.exe を使って、コマンドプロンプトで、Entity Data Modelに必要な3つのXMLファイルと2つのC#のソースコードを生成しています。

    危うく忘れるところでしたが、ウィザードではだめでも、edmgen.exe だったらうまくいくかもしれません。

    edmgen.exe は、C:\WINDOWS\Microsoft.NET\Framework\v3.5 にあります。

    ただ、私も、edmgen.exeについては、MCP試験を受験するとき少し勉強しただけで、実務で使ったことがなく、詳しい使い方はよくわからないまま、というのが正直なところです。

    マイクロソフトによると、LINQ to SQLよりも、Entity Frameworkの方がお奨めのようですので(Data Access Layer部を隠蔽できるから)、LINQ to SQL を試す前に、最後にもう1度試してみる価値はあるかもしれません。

    Lundi.hさん。こんばんは。

    記事のとおりにやってみましたが、サンプルコードの「var factory = DbProviderFactories.GetFactory("Npgsql");」の部分で以下の例外が発生しました。

    「登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。」(InnerExceptionはnull)

    データプロバイダの登録に失敗しているようですが、GACには確かに登録されています。

     


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月15日 18:14
  • 記事のとおりにやってみましたが、サンプルコードの「var factory = DbProviderFactories.GetFactory("Npgsql");」の部分で以下の例外が発生しました。

    「登録されている .Net Framework データ プロバイダが見つからないか、読み込めませんでした。」(InnerExceptionはnull)

    データプロバイダの登録に失敗しているようですが、GACには確かに登録されています。

    J.Hashimotさん、こんにちは!

    うまく行きませんでしたか?
    私の方でも、時間ができたので、PostgreSQLをインストールして、追試してみました。

    PostgreSQLのバージョン:8.3.15
    Npgsqlのバージョン:2.0.11.91

    そして、下記のサイトが紹介している方法と、ほぼ同じような方法で、試しました。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    「ほぼ同じ」というのは、私の場合は、コンソールアプリケーションではなく、Windowsフォームアプリケーションで作成したということと、プロジェクト名が、NpgsqlEntityFWTest ではなく、安直な名前(WindowsFormApplication1)である、ということです。

    結果は、上記サイトの記述どおり、問題なく動作しました。
    (ついでに、これは自分でも驚いたのですが、我が家の環境は、VS2008 Express Editionですが、edmgenを使うと、Entity Frameworkできる、ということもわかりました。Express Editionしかもっていない方には朗報ですね。)

    ですから、J.Hashimotさんのやり方か設定に問題があるのではないかと思います。

    (1)まず、Npgsqlはうまくインストールできていますでしょうか?

    GACには登録されているようですが、念のために、下記のコードがエラーなく動作するか試してみてください。
    このコードが動作すれば、Npgsqlのインストールは問題ないと言っていいと思います。

    (参照設定が必要です)

    using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection()) {
     conn.ConnectionString = "(Postgresの接続文字列)";
     conn.Open();
     //何か処理。あるいは何もしなくてもよい。
     conn.Close();
    }


    (2)Machine.config の記述が正しいでしょうか?

    DbProviderFactoriesが正しく動作するためには、machine.config への正しい登録が必要です。

    上記URLで紹介されているXMLタグをそのまま貼り付け、バージョン番号だけGACなどに登録されているものに変えればいいと思います。
    (PublicKeyTokenは、上記URLのものと同じでした)

    記述する場所にも気をつけてください。<DbProviderFactories> と </DbProviderFactories>の間である必要があります。
    ここには、日頃よく使っている、System.Data.SqlClientなどが登場しますから、わりと探しやすいと思います。

    注意点として、machine.configを変更したら、PCを再起動させておくといいと思います。

    次に、machine.config に正しく登録されているかどうか、確認するプログラムを記述してみます。

    Windowsフォームアプリケーションを作成し、Form1にButtonとDataGridViewを配置し、ボタンのイベントプロシージャに、次のように記述します。
    (System.Data.Commonをusingしておいてください)

     this.dataGridView1.DataSource = DbProviderFactories.GetFactoryClasses();

    ボタンをクリックすると、machine.configに登録されている、データベースプロバイダがすべて一覧表示されます。
    Npgsqlを含めて、たぶん6種類のプロバイダが一覧表示されるはずです。
    この中に、Npgsql が見当たらなかったら、machine.config の登録が正しく行われていないことになります。


    (3)Entity Frame Workの接続文字列

    これは、上記(2)までがうまくいくようになってからの話ですが、私が、一瞬、戸惑った部分を記しておきます。

    上記URLのEntity Frame Workの接続文字列は、下記のようになっています。

     "metadata=res://*/NpgsqlEntityFWTest.SampleDB.csdl|res://*/NpgsqlEntityFWTest.SampleDB.msl|res://*/NpgsqlEntityFWTest.SampleDB.ssdl;provider=Npgsql;provider connection string=&quot;Server=localhost;Port=5432;UserID=postgres;Password=postgres;Database=sample&quot;" 
     
    ここで、NpgsqlEntityFWTest は、現在開いているVisual Studioのプロジェクト名です。
    (今回の私の場合だと、WindowsFormApplication1となります)
     
    SampleDB は、さきほど、edmgenで指定した、/project パラメータで指定した値です。
    これは、今回のEntity Data Modelの名前空間にもなるので、コード中で、using指定などが必要です。

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)


    • 回答としてマーク J.Hashimoto 2011年7月20日 4:06
    2011年7月18日 7:11
  • Lundiです。

    たびたびすみません。

    上記の書き込みのあと気づいたのですが、ASP.NETのDynamic Data向けのWebページを作成するためには、上記の方法ではなく、edmx形式のファイルを生成しなければなりませんね。

    これには、どうしてもウィザードを使わなければならないような雰囲気ですね。

    J.Hashimotoさん、申し訳ありません。手詰まり状態となってしまいました。

    私も、LINQ to SQL も試して見ます。

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

    2011年7月19日 6:45
  • あの後、Npgsqlを一度アンインストールして、GACに登録し直したら、かずきさんのブログの内容はこちらでも検証できました。

    http://blogs.wankuma.com/kazuki/archive/2009/04/06/170812.aspx

    後は、「Dynamic Data エンティティ Webサイト」で作成するときに、Entity Frameworkの接続文字列の書き方がわかりません。

    以下のページを参考に、接続文字列を設定しました。

    接続文字列を定義する方法 (Entity Framework)

    <add
     name="SampleDBContext"
     connectionString="metadata=.\SampleDB.csdl|.\SampleDB.ssdl|.\SampleDB.msl;provider=Npgsql;provider connection string=&quot;Server=XXX;Port=5432;UserID=XXX;Password=XXX;Database=XXX&quot;"
     providerName="System.Data.EntityClient"/>
    

     

    結果は以下のエラーでした。

    「指定されたメタデータ パスは無効です。有効なパスは、既存のディレクトリ、拡張子が '.csdl'、'.ssdl'、または '.msl' の既存のファイル、または組み込みリソースを識別する URI のいずれかでなければなりません。 」

     


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/




    • 編集済み J.Hashimoto 2011年7月20日 2:18 接続文字列が誤っていたのを修正
    2011年7月20日 2:14
  • 後は、「Dynamic Data エンティティ Webサイト」で作成するときに、Entity Frameworkの接続文字列の書き方がわかりません。

    以下のページを参考に、接続文字列を設定しました。

    接続文字列を定義する方法 (Entity Framework)

    <add
     name="SampleDBContext"
     connectionString="metadata=.\SampleDB.csdl|.\SampleDB.ssdl|.\SampleDB.msl;provider=Npgsql;provider connection string=&quot;Server=XXX;Port=5432;UserID=XXX;Password=XXX;Database=XXX&quot;"
     providerName="System.Data.EntityClient"/>
    

     結果は以下のエラーでした。

    「指定されたメタデータ パスは無効です。有効なパスは、既存のディレクトリ、拡張子が '.csdl'、'.ssdl'、または '.msl' の既存のファイル、または組み込みリソースを識別する URI のいずれかでなければなりません。 」

     

    J.Hashimotoさん、こんにちは!

    前回の書き込みで、私は「手詰まり状態」などと書きましたが、「手詰まり」でも何でもなかったわけですよね。

    つまり、あと一歩というか、あと少しで、Dynamic Data Webページが作成できるという状態で、私は、勝手に一人で「手詰まって」いただけのことですね。(笑)

    結論から言うと、ウィザードを使わずに、Dynamic Data Webページできました!

    私のやった方法は、

    (1)edmgenで作成された5つのファイルを、App_Codeフォルダにコピーする。(App_Codeでなくてもいいかもしれません)

    (2) Global.asaxファイルの、例の部分を書きのように書き換える。

       model.RegisterContext(typeof(SampleDB.SampleDBContext), new ContextConfiguration() { ScaffoldAllTables = true });

    SampleDB.SampleDBContext と、最後のfalseをtrueにしました。

    (3)web.configは、次のとおり’

      <add name="SampleDBContext"
        connectionString="metadata=~/App_Code/SampleDB.csdl|~/App_Code/SampleDB.msl|~/App_Code/SampleDB.ssdl;provider=Npgsql;provider connection string=&quot;Server=localhost;Port=5432;UserID=postgres;Password=postgres;Database=sample&quot;"
        providerName="System.Data.EntityClient"/>

    確か、ASP.NETでは、.\ ではなくて、~/ というような書き方がよかったのだと思います。

     

    (4)必要な参照の追加を行う

     

    J.Hashimotoさんは、いかがですか?

     

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

    • 回答としてマーク J.Hashimoto 2011年7月20日 4:06
    2011年7月20日 3:58
  • Lundi.hさんに記載していただいた方法で実現できました。接続文字列にはチルダを使えばよかったのですね。

    最後までお付き合いいただきありがとうございました。


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月20日 4:06
  • J.Hashimotoさん、こんにちは!

    無事、成功したようでなによりです。

    私自身にとっても、大変勉強になりました。

    こちらこそ、ありがとうございました。

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

    https://www.mcpvirtualbusinesscard.com/VBCServer/Lundi2/profile

     

    2011年7月21日 3:44
  • サイト構築の手順をBlogにまとめたので、よかったら参考にしてください。

    PostgreSQLでASP.NET Dynamic Dataサイトを構築する - プログラマーな日々

     


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2011年7月22日 2:51
  • サイト構築の手順をBlogにまとめたので、よかったら参考にしてください。

    PostgreSQLでASP.NET Dynamic Dataサイトを構築する - プログラマーな日々

     

     

     

    拝見しました。

    私も自分用にまとめておこうかなと思っていましたが、J.Hashimotoさんがきれいにまとまめて下さったので、必要になったらこのページを見させていただきます。

     

    ------------------------------------------------
    名古屋ソフトウェアセンター 林広宣(MCPD)

    https://www.mcpvirtualbusinesscard.com/VBCServer/Lundi2/profile

    2011年7月25日 6:48