日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

linq.designer.cs学习笔记

發(fā)布時間:2025/7/25 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linq.designer.cs学习笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#pragma warning disable 1591

去除1591的警告信息

?

[System.Data.Linq.Mapping.DatabaseAttribute(Name="Development")]

設置linq連接的數(shù)據(jù)庫為"Development"

?

public partial class LinQDBDataContext : System.Data.Linq.DataContext

partial這是聲明分部類的一個關(guān)鍵字,為C#2.0中新增的, 一個類可以分成很多部分,寫在不同的地方

繼承了Linq.DataContext類,主要實現(xiàn)對數(shù)據(jù)庫對象訪問的方法

?

private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();

定義私有靜態(tài)變量mappingSource,綁定為前面定義的DatabaseAttribute(Name=" ")

?

#region Extensibility Method Definitions

#endregion

#region C# 預處理器指令。

#region 是一個分塊預處理命令,它主要是用于編輯器代碼的分塊,在編譯時會被自動刪除。

#region 使您可以在使用 Visual Studio 代碼編輯器的大綱顯示功能時指定可展開或折疊的代碼塊。

?

public LinQDBDataContext():base(global::System.Configuration.ConfigurationManager.ConnectionStrings["DevelopmentConnectionString"].ConnectionString, mappingSource)

base的作用://子類的構(gòu)造函數(shù)繼承的為父類第幾個構(gòu)造函數(shù)(這里繼承自含有2個參數(shù)的DataContext的構(gòu)造函數(shù))

這個構(gòu)造函數(shù)通過讀取web.config中的connectionStrings來生成LinQDBDataContext對象

linq會自動在web.config中生成對數(shù)據(jù)庫的配置項

<connectionStrings>

? <add name="DevelopmentConnectionString" connectionString="Data Source=CC-0264C27A02CC\SQLEXPRESS;Initial Catalog=Development;Integrated Security=True"

?? providerName="System.Data.SqlClient" />

?</connectionStrings>

?

public LinQDBDataContext(string connection) : base(connection, mappingSource)

這個構(gòu)造函數(shù)通過自定義connection來生成LinQDBDataContext對象

?

public LinQDBDataContext(System.Data.IDbConnection connection) : base(connection,mappingSource)

這個構(gòu)造函數(shù)根據(jù)IDbConnection接口中定義的connection來生成LinQDBDataContext對象

?

public LinQDBDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource)

這個構(gòu)造函數(shù)可以自定義connectionmappingSource

?

public LinQDBDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : base(connection, mappingSource)

這個構(gòu)造函數(shù)根據(jù)IDbConnection接口中定義的connection和自定義的mappingSource來生成LinQDBDataContext對象

?

public System.Data.Linq.Table<ModuleTable> ModuleTable

???? {

???????? get

???????? {

????????????? return this.GetTable<ModuleTable>();

???????? }

???? }

根據(jù)用戶在數(shù)據(jù)庫中創(chuàng)建的表自動生成,返回一個表對象的泛型集合

?

[Table(Name="dbo.ModuleTable")]

自動生成對每個表的對象

?

public partial class ModuleTable : INotifyPropertyChanging, INotifyPropertyChanged

INotifyPropertyChanging 是在 .NET Framework 3.5 版中引進的

INotifyPropertyChanging 介面是用來告知用戶端 (通常是繫結(jié)用戶端),屬性值正在變更。

?

private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);

定義屬性值變化對象

?

[Column(Storage="_ModuleName", DbType="VarChar(50) NOT NULL", CanBeNull=false)]

???? public string ModuleName

???? {

???????? get

???????? {

????????????? return this._ModuleName;

???????? }

???????? set

???????? {

????????????? if ((this._ModuleName != value))

????????????? {

?????????????????? this.OnModuleNameChanging(value);

?????????????????? this.SendPropertyChanging();

?????????????????? this._ModuleName = value;

?????????????????? this.SendPropertyChanged("ModuleName");

?????????????????? this.OnModuleNameChanged();

????????????? }

???????? }

???? }

綁定每列的屬性,setget方法

?

#pragma warning restore 1591

恢復1591的警告信息

轉(zhuǎn)載于:https://www.cnblogs.com/sleeplessC/articles/1612911.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的linq.designer.cs学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。