abgerufen werden Ich verwende Stored Procedure in Entity Framework. Ich erhalte Eltern Wert und dessen Kind durch @id Parameter leicht, aber dieses Mal will ichWie Eltern- und Kindtabellendatum aus Stored Procedure in Entity Framework
eine Liste der übergeordneten Tabelle Objekt und Kind von jedem Elternteil Objekt erhalten, wie dieses Bild
var command = myContext.Database.Connection.CreateCommand();
command.CommandText = "[dbo].[GetNewsForUser] @id";
command.Parameters.Add(new SqlParameter("@id", "9f13f132-4536-4111-a73e-61a97a52d226"));
try
{
myContext.Database.Connection.Open();
var reader = command.ExecuteReader();
var objectContext = ((IObjectContextAdapter)myContext).ObjectContext;
UserNews.UserName = objectContext.Translate<string>(reader).FirstOrDefault();
// to get nex select set from Stored Procedure
reader.NextResult();
UserNews.NewsInfos = objectContext.Translate<NewsInfo>(reader).ToList();
}
finally
{
myContext.Database.Connection.Close();
}
}
CREATE Procedure GetNewsForUser
@id nvarchar(50)
as
BEGIN
select UserName from AspNetUsers where id= @id
select NewsId, NewsTitle from News where UserId = @id
End
Bitte helfen Sie mir meine C# -Code und t-sQL zu ändern LIST des übergeordneten Tabelle Objekts und Kind von jedem Elternteil Ziel zu erreichen
ich mag mit Daten diese füllen
IList<GetAllNewsForUser> li = null;
GetAllNewsForUser g = new GetAllNewsForUser();
g.UserName = "";
g.NewsInfos = null;
li.Add(g);
Danke
Vielen Dank für Ihre Hilfe, aber wie kann ich mein Geschäftsobjekt aus der gespeicherten Prozedur füllen? so UserNews.UserName = objectContext.Translate (Leser) .FirstOrDefault(); // nex select aus gespeicherter Prozedur erhalten reader.NextResult(); UserNews.NewsInfos = objectContext.Translate (Leser) .ToList(); IList li = null; GetAllNewsForUser g = Neu GetAllNewsForUser(); g.UserName = ""; g.NewsInfos = null; li.Add (g); –
Lucia
Ich habe die obige Antwort bearbeitet, um Ihre Frage zu beantworten. – ErnestoDeLucia
Nun, ich möchte die Newsliste jedem Benutzer wie folgt zuweisen: usersLi = objectContext.Translate (Leser).Auflisten(); foreach (var Element in usersLi) { GetAllNewsForUser ii = Neu GetAllNewsForUser(); ii.UserName = item.UserName; ii.NewsInfos = item.NewsInfos; FinalList.Add (ii); } –
Lucia