PDA

View Full Version : مبتدی: سوال در مورد system collection generic list در Entity Frame Work Model



ehsan_kabiri_33
چهارشنبه 23 بهمن 1398, 08:19 صبح
سلام به همه عزیزان حرفه ای. بنده مبتدی هستم در #C.
"I have a database named "mydatabase" and a table named "myfriends


بعد از افزودن Entity Frame Work model برای اتصال به پایگاه داده ام: داریم



public partial class myfriend
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}

به هر حال سوال بنده اینه:




static void Main(string[] args)
{

mydatabaseEntities MyDB = new mydatabaseEntities();



List<myfriend> NewFriend1 = new List<myfriend>
{
new myfriend(){
FirstName="Arezoo"
,LastName="SheringTon"
,Age=23}
};



myfriend NewFriend2 = new myfriend()
{
FirstName = "Arash",
LastName = "Ghayour",
Age = 25
};


MyDB.myfriends.Add(NewFriend1); // It is true :)
MyDB.myfriends.Add(NewFriend2); // It is false :(


151356

چرا نمیتوان یک نمونه از List را به جدول افزود اما میتوان یک نمونه از کلاس myfriend را به جدول myfriends اضافه کرد؟؟
سپاس از اینکه وقت می ذارید

Mahmoud.Afrad
چهارشنبه 23 بهمن 1398, 18:25 عصر
برای افزودن لیستی از اشیا از متد AddRange (https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbcontext.addrange?v iew=efcore-3.1)استفاده کنید.

ehsan_kabiri_33
سه شنبه 29 بهمن 1398, 14:24 عصر
چرا نمیتوان یک نمونه از List را به جدول افزود اما میتوان یک نمونه از کلاس myfriend را به جدول myfriends اضافه کرد؟؟
سپاس از اینکه وقت می ذارید


وقتی یک متغیر از نوع لیست تعریف شود، هر عضو آن میتواند از نوع myfriend باشد و خود لیست یک نمونه از myfriend نیست تا بتواند به myfriends افزوده شود. چون توضیح نامفهوم بود مثال زیر را بیان میکنم:


myfriend temp1 = MyDB.myfriends.Where(x => x.ID >= 4).();
List<myfriend> temp2 = MyDB.myfriends.Where(x => x.ID >= 4).ToList();
توضیح اینکه در مثال اول در اینجا ارور خواهد داد. چون نمیتوان چندین نمونه از myfriend را داخل temp1 قرار داد و temp1 فقط میتواند یک نمونه از myfriend را داخل خود جای دهد.
اما temp2 یک لیست است که هر عضو آن میتواند یک نمونه از myfriend باشد و در این مثال این لیست شامل چندین نمونه از myfriend می باشد.

لذا میتوان یک عضو را به دیتا بیس افزود اما نمیتوان با کمک list چندین عضو را به دیتا بیس اضافه کرد.