成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

初探SQL Server CE + Codesmith用法

數據庫 SQL Server 數據庫運維
之前寫的程序是使用sqlite這個嵌入式數據庫作為Remit(code name)的數據源的,因為NHibernate支持這個,然而有一點不好的是sqlite不支持外鍵,導致可悲的codesmith不能得到關系,無法生成我喜歡的多對多映射.因此寫下本文,希望給大家一些啟示。

硬盤壞了也是一種契機,我突然想到了SQL Server還有一個CE版本,現在不止提供For Mobile的,還提供桌面版.這種可愛的嵌入式數據庫可比沒意思的Access好得多了. 這東西雖然沒store function(其實有ORM基本沒必要用),但是索引啊,表關系啊還是很全面的.微軟的東西就是好,造福全懶人嘛..

然而我的數據庫原來是Access的,在網上找了半天工具只找到一個SQL To SQL Ce的工具.于是用Access的升遷向導升遷到MS SQL,然后在MS SQL Server里面建立表關系.然后用那個工具導入到SQL CE里面. 然后又自己編譯了一個Codesmith的數據庫Schema provider(因為以前這個是for 4.0的,而我的是5.0).

那個遷移工具貌似有點問題,沒有把表關系完全copy過去,自己的SQL Menagement Studio版本可能太低,不能打開3.5的CE數據庫.結果用Codesmith就沒法生成我要的關系.不爽.想到NHibernate其實對于表關系是不依賴于數據庫的,只要有表就可以了,所以想到一個特別二的方法,就是用MS SQL做Codesmith的數據源,生成文件,而程序中則使用遷移后的CE數據庫.(其實感覺直接用MS SQL Server也可以,***發布的時候換CE)

不過最郁悶的事情是在使用NHibernate進行測試的時候,居然提示我某個查詢不能執行,而我在VS 2008的數據庫的查詢里面那個查詢是可以運行的SELECT this_.ID as ID2_0_, this_.BookName as BookName2_0_, this_.LangID as LangID2_0_ FROM dbo.Book this_ 我實在是很無奈啊,找錯誤NHibernate扔出來的異常的InnerException也看不出什么來,我就自己用ADO寫了一個

System.Data.SQLServerCe.SQLCeConnection conn
=new System.Data.SQLServerCe.SQLCeConnection(@"Data Source=E:\Loning\Loning.Remit\db.sdf"); 

SQLCeCommand command=new SQLCeCommand("SELECT this_.ID as ID2_0_, this_.BookName as 
BookName2_0_, this_.LangID as LangID2_0_ FROM dbo.Book this_",conn);

conn.Open();

***這東西提示表名異常,我一檢查表名,想起由于是SQL Server生成的,帶著個dbo.前綴,發現生成的NHibernate的配置文件

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
namespace="Loning.Remit.BusinessObjects" assembly="Loning.Remit">
<class name="Loning.Remit.BusinessObjects.Book, Loning.Remit" table="dbo.Book" lazy="true">
        <id name="Id" column="ID">
             <generator class="assigned" />
        </id>
        <property name="BookName" column="BookName" />
        <many-to-one name="Language" column="LangID" class="Language" />
        <bag name="Words" lazy="true" cascade="all" inverse="true" >
            <key column="BookID"></key>
            <one-to-many class="Word"></one-to-many>
        </bag>
    </class>
</hibernate-mapping>

其中存在dbo.,去掉之后正常,于是更改Codesmith的這個模板.把table.FullName改成table.Name,生成后配置文件正確,而后重新生成一遍,編譯.過了. 我從下午5點開始折騰,一直折騰到11點,總算把這些問題解決了,希望CE這東西可以好好工作...

【編輯推薦】

  1. 巧用SET選項設置SQL Server客戶端配置
  2. MySQL索引分類和各自用途
  3. 淺談MySQL存儲引擎選擇 InnoDB還是MyISAM
責任編輯:彭凡 來源: cnblogs
相關推薦

2011-03-28 12:50:45

SQL Server CE基礎

2009-04-12 11:12:24

windowsCE

2011-03-28 15:28:03

SQL Server 數據庫

2010-11-12 10:53:41

sql server表

2010-11-11 11:13:54

SQL Server

2009-02-16 16:30:52

性能數據收集器SQL Server SQL Server

2021-10-13 06:49:13

SQL Server優化

2011-04-06 14:03:47

MySQLSQL Server用法

2010-11-10 14:06:44

SQL Server全

2010-06-28 11:06:04

SQL Server

2010-07-09 14:51:21

SQL Server

2010-08-25 14:45:57

CSS絕對定位

2010-07-13 16:48:14

SQL Server

2010-07-26 16:39:57

SQL Server

2021-04-21 07:17:16

SQLServer數據庫SQL

2021-04-18 07:58:22

SQL Server數據庫Apply

2010-03-03 08:36:49

HTML 5 Web

2010-06-30 13:07:17

SQL Server函

2010-07-15 14:46:20

SQL Server數

2011-07-25 15:17:50

SQL SERVER數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美小视频在线观看 | 亚洲一区二区三区在线 | 亚洲美女视频 | 欧美区日韩区 | 黑人一级片视频 | 成人精品一区亚洲午夜久久久 | 久久综合一区 | 亚洲成人中文字幕 | 91视频网| 中国一级大黄大片 | 毛片站| 国产精品永久久久久久久www | 91伊人| 欧美日韩一区二区在线 | 国产a级黄色录像 | av一区二区三区四区 | 久久国产福利 | 亚洲一区精品视频 | 国产成人网 | 欧美日韩综合一区 | 国产激情一区二区三区 | 国产中文区二幕区2012 | 99免费在线视频 | 日韩精品视频在线 | 亚洲男人的天堂网站 | 欧美在线 | 亚洲精品资源 | 精品久久久久久久久久久久久 | 亚洲精品乱码久久久久久按摩观 | a毛片视频网站 | av在线二区 | 国产一级视频 | 亚洲图片一区二区三区 | 一区二区三区四区国产 | 日本久久久影视 | 国产电影一区 | 综合久久99 | 国产午夜精品一区二区三区嫩草 | 国产欧美一区二区三区久久人妖 | 日韩在线一区二区三区 | 久久久久久久久综合 |