.NET操作postgre数据库的两种方式

前提:添加好Mono.Security.dll和Npgsql.dll的引用

方式1:用自带的NpgsqlConnection创建链接对象

这是最基本的方式了

例如拿到postgre数据库里面所有的表

using (var conn = new NpgsqlConnection(“webconfig文件配置的ConnectionString”))
            {
                conn.Open();
               IList result = new List();
           string sql = "select tablename from pg_tables where schemaname='public'";
           NpgsqlCommand command = new NpgsqlCommand(sql, conn);
           NpgsqlDataReader Resource = command.ExecuteReader();
 
           while (Resource.Read())
           {
               for (int i = 0; i < Resource.FieldCount; i++)
               {
                   string tableName = Resource[i].ToString();
                   result.Add(tableName);
               }
           }
           return result;
            }

方式2:在web.config文件里配置好provider

首先配置好connectionStrings

    
    
   

这里面填写的providerName需要加上下面的配置

     
        
      
    
  

 invariant的值要和 上面的 connectionString里面写的 providerName的值应该一致!

且Type的值应该填写的是你引用的Npgsql DLL的信息。

但是这个信息怎么得到呢?

请打开调试的立即窗口

然后输入 [ typeof(Npgsql.NpgsqlFactory).AssemblyQualifiedName ]就会出来了

以上配置好后利用下面代码就OK了

var connStr = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
var providerName = ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName;
 DbProviderFactory dbFactory = DbProviderFactories.GetFactory(providerName);
 IDbConnection  dbConnecttion = dbFactory.CreateConnection();
            dbConnecttion.ConnectionString = connStr;
            dbConnecttion.Open();


转载于:https://my.oschina.net/u/2402448/blog/473700

你可能感兴趣的:(数据库)