(我对 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/