English 中文(简体)
在外库库库库内存放的胎盘,是欧洲法郎的ug子吗?
原标题:execute stored proc in ExecuteStoreQuery EF. is this a bug in EF?

a. 试图使用以下代码在EF实施储存的胎盘:

var params = new object[] {new SqlParameter("@FirstName", "Bob")};
return this._repositoryContext.ObjectContext.ExecuteStoreQuery<ResultType>("GetByName", params);

但保留这一错误:

Procedure or function GetByName expects parameter @FirstName , which was not supplied.

和来自制图师:

exec sp_executesql N GetByName ,N @FirstName nvarchar(100),@FirstName=N Bob 

以上是错证人 贵族法典

最佳回答

忽视<条码>第是一个保留词......

你们的问询需要:

var params = new object[] {new SqlParameter("@FirstName", "Bob")};
return this._repositoryContext.ObjectContext.ExecuteStoreQuery<ResultType>("exec GetByName @FirstName", params);

还应当说,如果该证据是贵国数据库和数据模型的一个标准部分,那么你应当将其输入你的EDM。 因此,可以直接从您的角度来看待。

问题回答

Use the ExecuteFunction instead of ExecuteStoreQuery which is more suitable for the "ad-hoc" queries.

var parameters = new ObjectParameter[] {new ObjectParameter("FirstName", "Bob")};
return this._repositoryContext.ObjectContext.ExecuteFunction<ResultType>("GetByName", parameters);

储存的程序也可以按具体情况加以规划,从而可以用作分类方法。 查阅 采用实体框架所储存的程序

如果你有多种参数,那么我就在欧安论坛使用特殊产品:

        public virtual ObjectResult<GetEpisodeCountByPracticeId_Result> GetEpisodeCountByPracticeId(Nullable<int> practiceId, Nullable<System.DateTime> dat1)
    {

        SqlParameter practiceIdParameter = practiceId.HasValue ?
            new SqlParameter() { ParameterName = "practiceId", Value = practiceId, SqlDbType = SqlDbType.Int } :
            new SqlParameter() { ParameterName = "practiceId", SqlDbType = SqlDbType.Int }; 

        SqlParameter dat1Parameter = dat1.HasValue ?
            new SqlParameter() { ParameterName = "dat1", Value = dat1, SqlDbType = SqlDbType.DateTime }:
            new SqlParameter() { ParameterName = "dat1", SqlDbType = SqlDbType.DateTime }; 


        return ((IObjectContextAdapter)this).ObjectContext.ExecuteStoreQuery<GetEpisodeCountByPracticeId_Result>("exec GetEpisodeCountByPracticeId @practiceId, @dat1", practiceIdParameter, dat1Parameter);
    }

如果你在指挥区财产中增加参数(例如@practiceId),那么你就会发现你收到的错误。





相关问题
Entity Framework with MySQL connector in c#

I have been trying to get the Entity Framework to work in my web application using MySQL. It works fine on my local pc, but doesn t work when I put it on the server. Since the server is a shared ...

How Do I Create And Update A Many To Many Relationship With EF

I am using the Entity Framework with SQL Server. I have a many to many relationship between 2 tables. I have created a join table with just the primary key fields of the 2 tables. In the designer, the ...

Entity Framework with File-Based Database

I am in the process of developing a desktop application that needs a database. The application is currently targeted to SQL Express 2005 and works wonderfully. However, I m not crazy about having ...

Linq to enties, insert foreign keys

I am using the ADO entity framework for the first time and am not sure of the best way of inserting db recored that contain foreign keys. this is the code that i am using, I would appreciate any ...

Entity Framework - Many to many question

I have a table called ASB and a table called PeopleInvolved. There is a junction table called PeopleInvolved_ASB which simply contains an ASBID and a PeopleInvolvedID column. The columns act as a ...

Post back complex object from client side

I m using ASP.NET MVC and Entity Framework. I m going to pass a complex entity to the client side and allow the user to modify it, and post it back to the controller. But I don t know how to do that ...

ADO.NET Entity Data Model are not precise enough

I run this code: var cos = from k in _db.klienci_do_trasy where k.klient_id == 5 select k; but the query send to database is: SELECT * FROM `klienci_do_trasy` LIMIT 0, 30 why is it for, there ...

热门标签