我有以下代码:
context.Database.SqlQuery<MyEntityType>("Select a,b from MyTableA inner join MyTableB on MyTableA.column = MyTableB.column);
这很好,它返回了我的MyentityType列表,里面充满了mytable和mytableb。
问题在于我在CSHARP文件中选择了精选的硬编码。我想将其放在SQL对象中,然后将此SQL对象的名称放在那里。但是我不知道该怎么做。我是否必须将其放入存储的procudre或功能中?如果是,只是用此功能的名称替换我的硬编码查询就足够了吗?
事先感谢您的帮助
我通常将存储的procs用于这样的自定义查询,是的,您只需使用proc的名称访问它:
context.Database.SqlQuery<MyEntityType>("my_stored_proc")
您也可以使用采用参数的PROC进行此操作:
var my_param = new SqlParameter("@param1", System.Data.SqlDbType.Int);
my_param.Value = 123;
context.Database.SqlQuery<MyEntityType>("my_stored_proc_with_params @param1", my_param)