我可以使用查询结果创建新对象吗?

Sin*_*tic 0 c# linq-to-sql

如果有更好的方法来做到这一点,请告诉我,但这是我设想的方式.可以吗?

Customer是database/datacontext中的表.我想要的是查询该表并使用它构建一个新对象.

如果我要插入记录,我会做这样的事情:

Customer cust = new Customer(){ FirstName = "A", LastName = "B", Age = 31 }
db.Customers.InsertOnSubmit(cust);
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

我想要做的是用查询结果实例化该对象.像这样的东西:

var query =
     from a in db.Customers
     where a.FirstName == "A"
     select a;

Customer cust = new Customer(){ query };
Run Code Online (Sandbox Code Playgroud)

或者甚至是

Customer cust = new Customer(){
     from a in db.Customers
     where a.FistName == "A"
     select a;
}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以做到这一点?

Mua*_*Dib 6

是的,像这样:

var query =  from c in db.Customers
     where c.FirstName == "somecriteria"
     select new Customer()
     {
        FirstName = "somevalue",
     };
Run Code Online (Sandbox Code Playgroud)

你也可以制作完全匿名的物品......

var query =  from c in db.Customers
     where c.FirstName == "somecriteria"
     select new() 
     {
        FirstName = c.SomeProperty,
        AnotherProperty=c.AnotherProperty,
     };
Run Code Online (Sandbox Code Playgroud)