bei dieser Abfrage vereinfachte SQL Server sucht:Dapper füllt keine Entity, auch nicht mit dem richtigen `SplitOn`?
set @userid2=...
SELECT *,
SPLIT = '',
userid2 = @userid2
FROM Comments c
JOIN Users u
ON ...
ich dies die SP auszuführen teilweise arbeiten Code:
await c.QueryAsync<Comment, User, SqlInt, CommentWithSenderAndUserId2>(@"insertCommentByImageId",
(message1, user, myint) => new CommentWithSenderAndUserId2
{
User = user,
Comment = message1,
UserId2 = myint.MyIntValue
},
new {imageid = imageId, userid1 = userid1, comment = comment}, //parms
splitOn: "UserID,split", //splits
commandType: CommandType.StoredProcedure //command type
)
Wie Sie bin ich Returnning alle sehen Säulen sowohl von Comments
als auch Users
PLUS einige int
Wert.
Nun, ich weiß, dass ich einen Wert int
nicht einfach so zurückgeben kann, muss ich eine Entität zurückgeben.
Deshalb habe ich diese Dummy-Klasse erstellt haben einen int
Wert zu halten:
public class SqlInt
{
public int MyIntValue { get; set; }
}
Und wie Sie sehen können, ist es Teil der generischen Typen:
c.QueryAsync<Comment, User, SqlInt, CommentWithSenderAndUserId2>
I Also im Grunde sind ein Comment
, User
, SqlInt
nehmen und alles in CommentWithSenderAndUserId2
setzt So Wo ist das Problem ?
Der int Wert meiner Dummy-Klasse wird nie gefüllt und es ist immer 0
(andere Einheiten gefüllt just fine)
I did read this post (in meinem SP wie ich), dass ich eine -Splitterkolonne hinzufügen sollte wie zum Beispiel:
SELECT *,
SPLIT = '', <----------- Here
userid2 = @userid2
Frage
Was mache ich falsch und wie bekomme ich meinen Wert gefüllt?