c# - Linq to SQL 数据上下文 : how to load data?

标签 c# asp.net linq-to-sql datacontext

(我对 Linq to SQL 完全陌生)我正在创建一个与数据库紧密协作的 Web 应用程序,我正在寻找最快且连接时间高效的模型,并相信 Linq to SQL 就是这样。我正在使用 C#/.Net4/Visual Studio 2010

为简单起见,我有一个包含许多 asp 文本框的 web .aspx 页面。我想通过 Linq 将 SQL 数据中的文本值提供给 SQL 对象。我还有一个名为 DataClasses.dbml 的文件,其中在设计 View 中添加了一个表。到目前为止,我在网页代码隐藏中的代码是:

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

然后如何访问列值?还是将其数据绑定(bind)到数据表?如果是,怎么办?

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# - Linq to SQL 数据上下文 : how to load data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262048/

相关文章:

c# - 共享 1 个网站和 1 个 Web API 的 Azure 应用服务

c# - 模态弹出窗口不生成回传到页面

c# - 如何将右侧 "where"传递给 C# 中的 IQueryable 实例化?

C# LINQ 标签云

sql-server - 在具有复合主键的表上使用 linq-to-sql 时出现错误

c# - 使用 Moq 重写同一个类中的虚方法

c# - 如何在 C# 中找到内存被用完的地方?

c# - 在 Windows Phone 8 应用程序中动态注入(inject) javascript

c# - Light在 MVC 中注入(inject)数据库上下文

jquery - 使用 jQuery Validate 进行验证并执行 AJAX 调用以返回部分 View