У меня есть хранимая процедура:рамки сущности и хранимая процедура
CREATE PROCEDURE SELECT_Some_Data
@Sreachstr nvarchar(200)
AS
BEGIN
SELECT ROW_NUMBER() OVER(ORDER BY [Document].DocNo DESC) AS Row,*
FROM Document WHERE [email protected]
END
, когда я исполню ее с @Sreachstr='153'
, он возвращает 15 записей.
Я использую Entity Framework, чтобы получить данные, возвращаемые хранимой процедуры:
public static List<DocumentInfo_Full_Data> SelectByDocNo(string SearchStr)
{
using (LibEntities_new db = new LibEntities_new())
{
return SelectByDocNo(db, SearchStr);
}
}
private static List<DocumentInfo_Full_Data> SelectByDocNo(LibEntities_new db, String SearchStr)
{
return db.SelectByDocNo(SearchStr).ToList();
}
public ObjectResult<DocumentInfo_Full_Data> SelectByDocNo(global::System.String searchStr)
{
ObjectParameter searchStrParameter;
if (searchStr != null)
{
searchStrParameter = new ObjectParameter("SearchStr", searchStr);
}
else
{
searchStrParameter = new ObjectParameter("SearchStr", typeof(global::System.String));
}
return base.ExecuteFunction<DocumentInfo_Full_Data>("SelectByDocNo", searchStrParameter);
}
Когда я называю этот метод с параметром SearchStr="15"
, я вижу одну запись, что в 15 раз повторяется вместо 15 различных записей.
Что такое ** первичный ключ **, определенный в вашей таблице «Документ» в базе данных? Какое поле определяется как ** ключ ** в вашей организации EF? –
Поле по имени recno является основным в таблице документов – AComputer
И это также ваш ** ключ ** в классе сущности Entity Framework? –