我可以在Linq to SQL中使用C#字符串插值

在使用EF(至少达到6.1.3版本)时,假设您有这样的类:
class Customer
 {
      public string FirstName { get; set; }
      public string LastName { get; set; }
 }

如果要获取一个字段FullName,它是两个(FirstName和LastName)的串联作为查询结果中的字段,您必须执行以下操作:

db.Customers.Select(c => new { FullName = c.FirstName + " " + c.LastName })

既然在C#中有字符串插值,你可以做这样的事情

db.Customers.Select(c => new { FullName = $"{c.FirstName} {c.LastName}" })

这似乎是一个微不足道的例子(它是),但问题仍然存在.

我是否可以开箱即用,我是否需要制定一些技巧才能使其正常工作或确定它不起作用?

解决方法

我不希望如此,不.它将编译成string.Format调用,我不希望它被支持.如果你真的需要在SQL部分完成投影,你可以测试它……但是,正常情况下,当你完成了需要在数据库中执行的部分查询时,使用AsEnumerable(),然后在之后使用Select:
var query = db.Customers
              // Project to just the properties we need
              .Select(c => new { c.FirstName,c.LastName })
              // Perform the rest of the query in-process
              .AsEnumerable()
              .Select(c => $"{c.FirstName} {c.LastName}");

相关文章

本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的...
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中...
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册...
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看...