Iva*_*van 3 c# asp.net datacontext linq-to-sql
(我对Linq to SQL完全不熟悉)我正在创建一个与数据库密切配合的Web应用程序,我正在寻找最快且连接时间有效的模型,并且相信Linq to SQL就是这样.我正在使用C#/.Net4/Visual Studio 2010
为简单起见,我有一个包含许多asp文本框的web .aspx页面.我想将他们的Text值从SQL数据通过Linq提供给SQL对象.我还有一个名为DataClasses.dbml的文件,在设计视图中添加了一个表.到目前为止我在网页代码隐藏中的代码是:
DataClassesDataContext db = new DataClassesDataContext(getConnectionString);
var table = from t in db.MyTable
where t.PK == 2
select new { t.col1, t.col2, t.col3};
db.Connection.Open();
db. // What's the best way of loading the object?
db.Connection.Close();
Run Code Online (Sandbox Code Playgroud)
然后,我如何访问列值?或者我将它数据绑定到数据表?如果是这样,怎么样?
myTextBox1.Text = table.???col1.value;
Run Code Online (Sandbox Code Playgroud)
Den*_*aub 15
您无需打开或关闭连接.LinqToSql为您提取了摘要.
创建查询后,您可以执行它并使用将对象检索为对象SingleOrDefault().
using (var db = new DataClassesDataContext(getConnectionString))
{
var query = from t in db.MyTable
where t.PK == 2
select new { t.col1, t.col2, t.col3};
var myObject = query.SingleOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用lambda表示法简化此操作:
using (var db = new DataClassesDataContext(getConnectionString))
{
var myObject = db.MyTable.SingleOrDefault(t => t.PK == 2 )
}
Run Code Online (Sandbox Code Playgroud)
要访问该对象,您可以直接访问这些列,因为它们已映射到相应的属性:
myTextBox1.Text = myObject.col1;
Run Code Online (Sandbox Code Playgroud)
使用
myTextBox1.Text = table.FirstOrDefault().col1.ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29766 次 |
| 最近记录: |