PostgreSQLでLinqToSqlを使用することはできますか?あなたはステップバイステップで記載された記事をお勧めできますか?Linq to PostgreSQL
答えて
Linq-to-SQL
のみSQL Serverをサポートしています。 Entity Frameworkは他のデータベースもサポートしています。
いいえ、LINQ to SQLはMS SQL Serverでのみ動作します。 PostgreSQLのデータソースにアクセスするには、サードパーティのプロバイダを使用する必要があります。 Devart LinqConnectを試してみることをお勧めします。
私はLINQ to SQLをMySQLとPostgreSQLデータベースで約2年間使用しています(Windowsの場合はDbLinqを使用し、Monoを使用している場合はMonoを使用しています)。この製品はEntity Frameworkのいくつかの機能を提供します。 LinuxおよびMac OS X)をインストールします。
LINQ to SQLはSQL Serverに限定されませんが、上記のように外部ライブラリを使用する必要があります。
Monoでは、DbLinqアセンブリを展開/登録する必要はありません.DbLinqはSystem.Data.Linq名前空間の基盤です。 NpgsqlアセンブリのIdem:これは、Monoの最新バージョンによって既に提供されています。
サポートが不完全であることに注意してください(ObjectDataSourceコントロールをPostgreSQLのデータコンテキストにバインドしようとすると、多くの問題が発生しました。生成されたエンティティで手作業でデータバインディングを行うことで解決しました)。しかし、これはほとんどのSQLクエリでは十分です(私はほとんど何も失敗クエリを持っていない:複雑な関節はいくつかのより簡単なクエリでシミュレートすることができます)。
DbLinqとLINQ to SQLの違いはほとんどありません。データプロバイダに関する情報を提供することによって、接続文字列のみをカスタマイズする必要があります。
http://www.mono-project.com/Release_Notes_Mono_2.6
http://www.jprl.com/Blog/archive/development/mono/2009/Mar-12.html
、モノ2.10.6で、私は、接続文字列のこのタイプの使用:これらの短いサンプルを参照してください(私はDbLinqの使用についての本当のチュートリアル見つかっていない)「サーバーを= localhostを;データベース= mydbという;ユーザーID = postgresの;パスワード= mypasswordという。DbLinqProvider = PostgreSQLの; DbLinqConnectionType = Npgsql.NpgsqlConnection、Npgsqlの、バージョン= 4.0.0.0、文化=中立、なPublicKeyToken = 5d8b90d52f46fda7"
注:モノラルで、 DbMetalツールは、同じパラメータを持つ "sqlmetal"コマンドに置き換えられます(DbMetのラッパーです) al)。
PostgreSQLの
に使用LinqToDB Visual Studioでhttps://www.nuget.org/packages/linq2db.PostgreSQL/
、オープンNuGetコンソールと次のコマンドを実行します。
PM> Install-Package linq2db.PostgreSQL
あなたは、溶液中のフォルダになってしまいます。LinqToDB.PostgreSQL
。フォルダ内にはCopyMe.PostgreSQL.tt.txt
というファイルがあります。 Contextクラスを生成するために何をすべきかをファイルで読んでください。このファイルの内容の
例:あなたは*.tt
ファイルを保存
<#@ template language="C#" debug="True" hostSpecific="True" #>
<#@ output extension=".generated.cs" #>
<#@ include file="$(ProjectDir)LinqToDB.Templates\LinqToDB.PostgreSQL.Tools.ttinclude" #>
<#@ include file="$(ProjectDir)LinqToDB.Templates\PluralizationService.ttinclude" #>
<#
/*
1. Copy this file to a folder where you would like to generate your data model,
rename it, and delete .txt extension. For example:
MyProject
DataModels
MyDatabase.tt
2. Modify the connection settings below to connect to your database.
3. Add connection string to the web/app.config file:
<connectionStrings>
<add name="MyDatabase" connectionString="Server=MyServer;Port=5432;Database=MyDatabase;User Id=postgres;Password=TestPassword;Pooling=true;MinPoolSize=10;MaxPoolSize=100;Protocol=3;" providerName="PostgreSQL" />
</connectionStrings>
4. To access your database use the following code:
using (var db = new MyDatabaseDB())
{
var q =
from c in db.Customers
select c;
foreach (var c in q)
Console.WriteLine(c.ContactName);
}
5. See more at https://github.com/linq2db/t4models/blob/master/Templates/ReadMe.LinqToDB.md.
*/
NamespaceName = "DataModels";
LoadPostgreSQLMetadata("MyServer", "5432", "MyDatabase", "postgres", "TestPassword");
// LoadPostgreSQLMetadata(string connectionString);
GenerateModel();
#>
毎回、クラスが再生成されます。 21人の開発者の私たちの会社でうまく動作します。
- 1. LINQ to SQLとLINQ to DataSet
- 2. LINQクエリヘルプ(LINQ to SQL)
- 3. Linq toエンティティmany-to-many join
- 4. Linq to SQL - DateTime to Time
- 5. LINQ to Entities to Interface Property
- 6. Linq to SQL One To Many
- 7. ヘルプLinq to Sql
- 8. Linq to SQL Records
- 9. LINQ OrderByDescending to OrderByAscending?
- 10. linq to xml performance
- 11. LINQ to Entitiesサブクエリ
- 12. Linq to Entities - エンドレスエンティティループ
- 13. linq-to-sql InsertOnSubmit
- 14. Linq to Entities Group
- 15. LINQ to Entities Initialization
- 16. Linq-to-SQL:バインディングリストビュー
- 17. Entity - Linq to Sql
- 18. LINQ to DataGridViewRowCollection
- 19. LINQ to Lambda Express
- 20. Linq to Entities System.data.Objects
- 21. Linq to sqll monodevelop
- 22. Linq To Entity MVC
- 23. LINQ to SQLクラス
- 24. LINQ to Entityクロスタブ
- 25. LINQ to SQLヘルプ
- 26. Linq to SQLドメインモデル
- 27. linq to sql "Contains"
- 28. Linq to MySql GetTable
- 29. LINQ to DataTable
- 30. LINQ to SQL PredicateBuilder
http://www.mono-project.com/Compatibility Entity FrameworkはMonoではサポートされていません。 – skolima
EntityFramework - Mono 2.11.3以降で利用可能です。 – UserControl