Solved

ADO.Net Entity Framework: Map Store Procedure

Posted on 2011-02-24
9
602 Views
Last Modified: 2012-05-11
Hi guys!

Need some help with mapping a store procedure to this model..

I tried using TPT inheritence but with no luck.

If this is not possible, any other solutions?

(The store procedure I have takes values for all for all three tables.)
tables.JPG
0
Comment
Question by:ulf-jzl
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 500 total points
ID: 34967947
It's not possible with the current version of EF to map a single stored procedure to multiple entities.
0
 

Author Comment

by:ulf-jzl
ID: 34968154
If I use TPT and have one to one relationship it would work, the problem is the one to many relationship i have in the first two tables.

any tips how to change the architecture to solve this?
0
 

Author Comment

by:ulf-jzl
ID: 34971994
it sould be solved by using the Entity Framework Extensions, but I can't figure out how to do that.
Any tips on that?
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34972063
Not something i've used myself i'm afraid. From what i have read it supports pulling back multiple entities from a single procedure, but i haven't seen anything about going the other way.
0
 

Author Comment

by:ulf-jzl
ID: 34972249
ok, do you have any tips how to solve it. leave EF4 for regular ADO.Net to solve this?
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34972318
You can do it easily enough with ADO.Net. You would need to manually create a parameter for each property of your enitites, but other than that its all straightforward stuff. Let su know if you need any help with it.
0
 

Author Comment

by:ulf-jzl
ID: 34972495
something like this then?

Or can I use somehting form the model to make this better?

public static void InsertDeviceTestResults(string deviceId)
        {
            // create and open a connection 
            using (SqlConnection conn = new SqlConnection("Server=(local);DataBase=FBI.Data;Integrated Security=SSPI"))
            {
                // Open connection
                conn.Open();

                // Setup command
                SqlCommand cmd = new SqlCommand("InsertDeviceTestResults", conn) { CommandType = CommandType.StoredProcedure };

                // Add parameter to the stored procedure
                cmd.Parameters.Add(
                    new SqlParameter("@DeviceId", deviceId));

                // Execute the sproc
                cmd.ExecuteReader();
            }
        }

Open in new window

0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34973333
Yes, only you'll need to repeat the "cmd.Parameters.Add" line for each property you need to pass to the SP.
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34973341
Except you will use "ExecuteNonQuery()" instead of "ExecuteReader()", if you don't return any data back.
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you have heard of RFC822 date formats, they can be quite a challenge in SQL Server. RFC822 is an Internet standard format for email message headers, including all dates within those headers. The RFC822 protocols are available in detail at:   ht…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

628 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question