感谢支持
我们一直在努力

技术备忘录(Linux Mono Linq ASP.NET)

环境: openSUSE linux Mono2.4 MonoDevelop2.0 DBLinq2007 0.18 Navicat lite 8.2.16


1)关于mysql存取中文字符:创建表时可能存放中文的字段的Character set应设置为:utf8 (UTF-8 Unicode)或 为中文兼容的字符集:
 big5     | Big5 Traditional Chinese
 gb2312   | GB2312 Simplified Chinese
 gbk      | GBK Simplified Chinese


 2)关于DBLinq2007 0.18:


DBLinq2007其文件build\DbMetal.exe用于生成定义强类的数据集的cs文件.


其参数如下:


/provider:<provider>             指定数据提供者. 可能是Ingres, MySql,
                                       Oracle, OracleODP, PostgreSql 或 Sqlite.


/server:<name>                   数据库服务器的地址或其机器名.


/user:<name>                      登录数据库的用户名.


/password:<password>         登录数据库的口令.


/database:<database>    数据库名称


/namespace:<namespace>  指定输出强类数据集的命令空间


/sprocs                             提取存储过程.


/code:<file>                        输出c#源代码. 不能同 /dbml 选项一起使用.


前提mysql server服务器(localhost)存在一个test数据库,test存在User表及Deaprtment表.(用户名mysql口令1234)


mono DbMetal.exe /provider:MySql /server:localhost /user:mysql /password:1234 /database:test /namespace:mysqllinq /sprocs /code:testdb.cs


查看命令运行结果有没有错误产生,可据提示排错.如果没有错误.则会在当前目录产生一个名为testdb.cs的文件.


生成的cs文件含有如下命名空间引用;


using DbLinq.Linq;
using DbLinq.Linq.Mapping;


请删除using DbLinq.Linq;并把using DbLinq.Linq.Mapping;改为using DbLinq.Data.Linq.Mapping;


保存后并把生成的cs文件添加项目中。


 在MonoDevelop2.0中使用DBLinq 访问mysql数据库需要引用如下程序集:


System.Core.dll


DbLinq.dll


System.Data.Linq.dll


DbLinq.MySql.dll


MySql.Data.dll


System.Data.dll


using System;  
using System.Collections.Generic;  
using System.Web;  
using System.Web.UI;  
using DbLinq.MySql;  
using mysqllinq;  
using System.Data;  
using System.Linq;  
using DbLinq.Factory;  
using DbLinq.Logging;  
using MySql.Data.MySqlClient;  
 
namespace webapp0  
{  
           
    public partial class Default : System.Web.UI.Page  
    {  
        private static mysqllinq.Test testdb;  
        protected void Page_Load(object sender,EventArgs args)  
        {  
              
            if(testdb==null)  
            {  
                button1.Text = “开始实例化:testdb”;  
                testdb=new mysqllinq.Test(new MySqlConnection( “server=localhost;user id=mysql; password=maling; database=test”));  
            }  
            else 
            {  
                button1.Text = “已实例化:testdb”;  
            }  
        }      
        public virtual void button1Clicked(object sender, EventArgs e)  
        {  
 
            var user=testdb.User.Single(u=>u.UserID==”yanxiang”);  
            button1.Text=user.UserName;  
 
        }      
    }  

赞(0) 打赏
转载请注明出处:服务器评测 » 技术备忘录(Linux Mono Linq ASP.NET)
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏