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

LINQ to SQL使用DataContext連接字符串

開發 后端
這里介紹LINQ to SQL使用DataContext連接字符串,我們首先用實體類描述關系數據庫表和列的結構的屬性。再調用DataContext的CreateDatabase方法,LINQ to SQL會用我們的定義的實體類結構來構造一個新的數據庫實例。

LINQ to SQL有很多值得學習的地方,這里我們主要介紹LINQ to SQL使用DataContext連接字符串,包括介紹創建和刪除數據庫等方面。

DataContext作為LINQ to SQL框架的主入口點,為我們提供了一些方法和屬性,本文用幾個例子說明DataContext幾個典型的應用。
◆CreateDatabase方法用于在服務器上創建數據庫。
◆DeleteDatabase方法用于刪除由DataContext連接字符串標識的數據庫。

數據庫的名稱有以下方法來定義:
◆如果數據庫在連接字符串中標識,則使用該連接字符串的名稱。
◆如果存在DatabaseAttribute屬性(Attribute),則將其Name屬性(Property)用作數據庫的名稱。
◆如果連接字符串中沒有數據庫標記,并且使用強類型的DataContext,則會檢查與DataContext繼承類名稱相同的數據庫。如果使用弱類型的DataContext,則會引發異常。
◆如果已通過使用文件名創建了DataContext,則會創建與該文件名相對應的數據庫。

我們首先用實體類描述關系數據庫表和列的結構的屬性。再調用DataContext的CreateDatabase方法,LINQ to SQL會用我們的定義的實體類結構來構造一個新的數據庫實例。還可以通過使用 .mdf 文件或只使用目錄名(取決于連接字符串),將 CreateDatabase與SQL Server一起使用。LINQ to SQL使用DataContext連接字符串來定義要創建的數據庫和作為數據庫創建位置的服務器。

說了這么多,用一段實例說明一下吧!

首先,我們新建一個NewCreateDB類用于創建一個名為NewCreateDB.mdf的新數據庫,該數據庫有一個Person表,有三個字段,分別為PersonID、PersonName、Age。

  1. public class NewCreateDB : DataContext  
  2. {  
  3.  
  4. public Table<Person> Persons;  
  5. public NewCreateDB(string connection)  
  6. :  
  7. base(connection)  
  8. {  
  9. }  
  10. public NewCreateDB(System.Data.IDbConnection connection)  
  11. :  
  12. base(connection)  
  13. {  
  14. }  
  15. }  
  16.  
  17. [Table(Name = "Person")]  
  18. public partial class Person : INotifyPropertyChanged  
  19. {  
  20.  
  21. private int _PersonID;  
  22. private string _PersonName;  
  23. private System.Nullable<int> _Age;  
  24.  
  25. public Person() { }  
  26.  
  27. [Column(Storage = "_PersonID"DbType = "INT",  
  28. IsPrimaryKey = true)]  
  29. public int PersonID  
  30. {  
  31. get { return this._PersonID; }  
  32. set  
  33. {  
  34. if ((this._PersonID != value))  
  35. {  
  36. this.OnPropertyChanged("PersonID");  
  37. this._PersonID = value;  
  38. this.OnPropertyChanged("PersonID");  
  39. }  
  40. }  
  41. }  
  42.  
  43. [Column(Storage = "_PersonName"DbType = "NVarChar(30)")]  
  44. public string PersonName  
  45. {  
  46. get { return this._PersonName; }  
  47. set  
  48. {  
  49. if ((this._PersonName != value))  
  50. {  
  51. this.OnPropertyChanged("PersonName");  
  52. this._PersonName = value;  
  53. this.OnPropertyChanged("PersonName");  
  54. }  
  55. }  
  56. }  
  57.  
  58. [Column(Storage = "_Age"DbType = "INT")]  
  59. public System.Nullable<int> Age  
  60. {  
  61. get { return this._Age; }  
  62. set  
  63. {  
  64. if ((this._Age != value))  
  65. {  
  66. this.OnPropertyChanged("Age");  
  67. this._Age = value;  
  68. this.OnPropertyChanged("Age");  
  69. }  
  70. }  
  71. }  
  72.  
  73. public event PropertyChangedEventHandler PropertyChanged;  
  74. protected virtual void OnPropertyChanged(string PropertyName)  
  75. {  
  76. if ((this.PropertyChanged != null))  
  77. {  
  78. this.PropertyChanged(this,  
  79. new PropertyChangedEventArgs(PropertyName));  
  80. }  
  81. }  

接下來的一段代碼先創建一個數據庫,在調用CreateDatabase后,新的數據庫就會存在并且會接受一般的查詢和命令。接著插入一條記錄并且查詢。***刪除這個數據庫。

  1. //新建一個臨時文件夾來存放新建的數據庫  
  2. string userTempFolder = Environment.GetEnvironmentVariable  
  3. ("SystemDrive") + @"\YJingLee";  
  4.  Directory.CreateDirectory(userTempFolder);  
  5.  
  6. //新建數據庫NewCreateDB  
  7. string userMDF = System.IO.Path.Combine(userTempFolder,  
  8. @"NewCreateDB.mdf");  
  9. string connStr = String.Format(@"Data Source=.\SQLEXPRESS;  
  10. AttachDbFilename={0};Integrated Security=True;  
  11. Connect Timeout=30;User Instance=True;   
  12. Integrated Security = SSPI;", userMDF);  
  13. NewCreateDB newnewDB = new NewCreateDB(connStr);  
  14. newDB.CreateDatabase();  
  15.  
  16. //插入數據并查詢  
  17. var newnewRow = new Person  
  18. {  
  19. PersonID = 1,  
  20. PersonName = "YJingLee",  
  21. Age = 22 
  22. };  

【編輯推薦】

  1. Linq匿名類型簡單概述
  2. Linq隨機讀取數據淺析
  3. Linq Lambda表達式全面分析
  4. Linq擴展方法簡單分析
  5. 初探Linq局部變量類型
責任編輯:佚名 來源: IT168
相關推薦

2009-09-08 14:56:55

強類型DataContLinq to SQL

2009-09-09 15:44:22

Linq DataCo

2009-09-14 10:42:03

LINQ生成字符串

2009-09-15 13:20:34

LINQ DataCo

2009-09-13 21:52:16

LINQ字符串

2009-09-17 11:16:44

LINQ代碼生成

2023-01-09 09:52:06

Bash字符串

2010-06-17 16:00:59

SQL Server

2010-11-08 15:58:54

SQL Server連

2010-06-17 16:13:05

SQL Server

2010-09-09 11:48:00

SQL函數字符串

2010-10-12 11:13:51

2009-12-24 09:49:02

ADO.Net連接池

2010-06-17 16:38:14

MS SQL Serv

2009-08-20 18:23:29

C#中SQL連接字符串

2010-09-13 15:50:03

sql server數

2010-11-08 17:07:41

SQL Server字

2010-06-28 15:18:51

SQL Server

2010-09-13 15:12:26

sql server字

2010-05-26 15:14:39

MySQL字符串
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品久久日伦片大全免费 | 精品粉嫩aⅴ一区二区三区四区 | 久久久综合精品 | 日韩欧美视频 | 夜夜爽99久久国产综合精品女不卡 | 中文字幕免费在线观看 | 日本三级在线网站 | 黑人巨大精品欧美一区二区一视频 | 欧美在线天堂 | ww亚洲ww亚在线观看 | 亚洲视频免费观看 | 国产精品久久久久久久久久尿 | 中文字幕 视频一区 | 成年人在线视频 | 91视频国产区| 综合国产第二页 | 国产高清免费视频 | 国产精品乱码一区二区三区 | 亚洲欧美综合精品另类天天更新 | 日韩伦理一区二区 | 毛片电影 | 久久大全 | 99精品亚洲国产精品久久不卡 | 女同久久另类99精品国产 | 在线亚洲免费视频 | 中国大陆高清aⅴ毛片 | 密色视频| 国产亚洲精品综合一区 | 欧美精品乱码久久久久久按摩 | www精品美女久久久tv | 日本激情视频中文字幕 | 日韩免费一区二区 | 日韩欧美亚洲综合 | 国产午夜高清 | 久久成人18免费网站 | 精品久久久久久亚洲精品 | 黄色网址在线免费观看 | 黑人精品xxx一区一二区 | 一区二区三区视频在线免费观看 | 日本精品视频在线 | 韩国精品在线 |