<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:textSize="20sp"
android:padding="10dp"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:background="@drawable/back"
android:textAlignment="inherit"/>
在SQL Server上,此查询返回结果,但未使用Entity Framework
答案 0 :(得分:1)
这应该有效。请注意,第一个参数是一个字符串参数值,其中该值由通配符%
包围,并且在查询本身中没有用引号引起来,因为它将被适当的参数替换。无法设置下一个10个偏移量,但是可以使用.Skip
和.Take
扩展名来代替返回的结果集。在下面的查询中,我手动编码了该值。我还删除了多余的AND
。
db.Products.SqlQuery("SELECT * FROM Products WHERE Name LIKE {0} ORDER BY Name OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY", "%" + str + "%").ToList();
使用跳过/获取
var top10 = db.Products.SqlQuery("SELECT * FROM Products WHERE Name LIKE {0} ORDER BY Name", "%" + str + "%").Skip(0).Take(10).ToList();
这是与不使用SqlQuery
var top10 = db.Products.Where(prod => prod.Name.Contains(str))
.OrderBy(x => x.Name)
.Skip(0) // not necessary because of value 0 but illustrates how to skip records
.Take(10)
.ToList();