我可以在Linq to SQL中使用C#字符串插值
发布时间:2020-12-12 06:46:57 所属栏目:MsSql教程 来源:网络整理
导读:在使用EF(至少达到6.1.3版本)时,假设您有这样的类: class Customer { public string FirstName { get; set; } public string LastName { get; set; } } 如果要获取一个字段FullName,它是两个(FirstName和LastName)的串联作为查询结果中的字段,您必须执行以下
在使用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}"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |