我刚刚检查了Entity Framework Core 2.0中的新未来。它有一个非常好的功能,称为"原始SQL方法中的字符串插值" ,描述为here。
它说这段代码:
var city = "Redmond";
using (var context = CreateContext())
{
context.Customers.FromSql($@"
SELECT *
FROM Customers
WHERE City = {city}");
}
创建此查询:
SELECT *
FROM Customers
WHERE City = @p0
对我来说真的很奇怪!如何编写FromSql
方法,并且输入类型字符串。
它如何理解它是一个插值字符串,然后为它创建一个参数@p0
查询?如何编写像FromSql
这样的方法,知道如何创建字符串参数?
答案 0 :(得分:8)
它的工作方式是FromSql(
accepts a FormattableString
。
当您使用返回FormatableString
的editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
//place neccessary logic here and close the keyboard
}
});
时,该类允许您检查传入的字符串并查看其中的所有$"..."
块及其所代表的对象。这允许框架使用占位符参数{ }
替换这些{ }
块,然后使用类似于@p0