2014-09-30 4 views
0

Я очень новичок в ASP.NET/MVC/LINQ. У меня есть три таблицы в моей базе данных и соответствующие им модель в моем решении:Linq MVC с моделью зрения

salesperson 
    id 
, name 
, address 
, dob 

sales 
    id 
, shopid 
, salespersonid 
, productid 
, AmountSale 
, saleDate 

Shop 
    id 
, shopName 
, Location 

У меня есть хранимая процедура, которая будет возвращать следующие данными для всех продаж человека:

SalesPersonid 
, TotalAmount_Sale 
, Most_Recent_ShopName 
, Count_Of_sales_Lifetime 
, count_of_sales_ThisMonth 

Как я называю хранимой процедуры с использованием LINQ и отображения данных в интерфейсе? Все образцы, которые я видел до сих пор, возвращают модель, которая уже существует. Я очень смущен, пожалуйста, помогите.

+0

вы используете какой-либо вид ОРМ? (Entity Framework, NHibernate и т. Д.) –

+0

И вам нужно использовать хранимую процедуру? – SethMW

+1

Как правило, вы не будете использовать хранимые процедуры, вы обычно используете ORM Framework. [Вызов хранимых процедур с Entity Framework] (http://visualstudiomagazine.com/articles/2014/04/01/calling-stored-procedures-from-entity-framework.aspx) абсолютно возможен, но обычно вы делаете редко и только для оптимизации конкретных случаев. –

ответ

2

Предполагая, что вы не против добавления библиотеки в смесь:

Во-первых, идти установить Dapper dot Net. Затем создать модель для хранения результатов в:

class MySprocResult 
{ 
    public int SalesPersonid { get; set; } 
    public decimal TotalAmount_Sale { get; set; } 
    public string Most_Recent_ShopName { get; set; } 
    public int Count_Of_sales_Lifetime { get; set; } 
    public int count_of_sales_ThisMonth { get; set; } 
} 

Далее, установить соединение с базой данных и использовать Dapper точек сети, чтобы возвращать результаты:

String connectionString = "connectionString"; 
using (IDbConnection db = new System.Data.SqlClient.SqlConnection(connectionString)) 
{ 
    // Open SQL connection 
    db.Open(); 

    // Fetch results from stored procedure 
    IEnumerable<MySprocResult> results = db.Query<MySprocResult>(
     "mySprocName",       // stored procedure name 

     //--- OPTIONAL 
     //param: new { id = 123 },    // pass parameters if necessary 
     //--- /OPIONAL 

     commandType: CommandType.StoredProcedure // tell dapper it's a SPROC 
    ); 

    // Close SQL connection 
    db.Close(); 

    /* work with "results" here */ 
} 
+0

+1, я люблю Dapper, его так быстро и легко использовать –

Смежные вопросы