سلام
یک ویو در دیتابیس sql server وجود دارد که شامل 5 ستون است. دو رکورد در ویو فوق وجود دارد که 3 ستون آن یکسان ولی 2 ستون دیگر آن متفاوت است. زمانیکه از Ado.net استفاده می شود خروجی select از ویو فوق درست است ولی وقتی از EF استفاده می شود اطلاعات دو رکورد را یکسان برمی گرداند در صورتیکه دو رکورد در 2 ستون دیتایشان با هم تفاوت دارد. EF به صورت زیر اجرا شده است.
var temp = cNEntities.NF2GROUPMAPInfoView.ToList();
لطفا راهنمایی کنید.
تصویری از نتیجه کوئری sql و نتیجه کوئری خودتون قرار دهید
گروه با نام TestEnv_Modern را در هر دو فایل در نظر بگیرید :
خروجی اچرای دستور در sql :
2- خروجی اجرای دستور توسط EF :
var temp = cNEntities.NF2GROUPMAPInfoView.ToList();
والا من تفاوتی نمیبینم
کوئری View را در Sql بررسی کنید
اگر join شده باشه تکراری ها حذف میشه
خروجی ویو را فرستادم. همون ویو داره سمت EF صدا زده میشه. لذا اگه قرار باشه رکورد تکراری حذف بشه باید هر دو سمت حذف بشه. گروه TestEnv_Modern رو اگه در هر دو خروجی ملاحظه کنید ستونهای GroupType در خروجی SQl برای دو رکورد فوق که مشخص شده است مقدارش متفاوت است ولی مقدار همین ستون برای رکوردهای گفته شده در EF یکسان است. که سمت EF اشتباه است و می بایست مقدارش متفاوت باشد. همانند sql
متن یک ویو ساختم و تست کردم مشکلی برای من نبود
متاسفانه نمیشه حدس زد مشکل از کجاست
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)