数据库
首页 > 数据库> > c# – Linq to SQL DataContext:如何加载数据?

c# – Linq to SQL DataContext:如何加载数据?

作者:互联网

(我对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();

然后,我如何访问列值?或者我将它数据绑定到数据表?如果是这样,怎么样?

myTextBox1.Text = table.???col1.value;

解决方法:

您无需打开或关闭连接. 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();
}

您还可以使用lambda表示法简化此操作:

using (var db = new DataClassesDataContext(getConnectionString))
{
    var myObject = db.MyTable.SingleOrDefault(t => t.PK == 2 )
}

要访问该对象,您可以直接访问这些列,因为它们已映射到相应的属性:

myTextBox1.Text = myObject.col1;

标签:c,asp-net,linq-to-sql,datacontext
来源: https://codeday.me/bug/20190713/1446881.html