سلام استاد
روز بخیر
شما در فرم افزودن شخص جدید، textbox برای فیلد id درنظر نگرفتید و با زدن روی دکمه ذخیره، بدون ارسال خطا، مقدار فیلد id را برای رکورد جدید ثبت می کرد، بنده پروژه ای برای کترینگ غذا با جدولی به نام Food و فیلدهای زیر ایجاد کرده ام:
public class Food
{
[Key]
public string FoodId { get; set; }
[MaxLength(250)]
public string FoodName { get; set; }
[MaxLength(500)]
public string? Contents { get; set; }
public long Price { get; set; }
public bool IsExist { get; set; } = false;
}و فرمی به این شکل برای افزودن غذای جدید دارم:

دستورات زیر را در دکمه ذخیره می نویسم اما پیغام خطا میده که فیلد کلید نمی تونه خالی باشه ، فیلد price هم چون از نوع long در نظر گرفتم، نمیدونم چطور باید مقدار textBox که از نوع string هست رو بهش بدم، چون پیغام خطای زیر رو نمایش میده :

private void btnSave_Click(object sender, EventArgs e)
{if (ValidateInputs())
{
Food food = new Food();
food.FoodName = txtFoodName.Text;
food.Contents = txtFoodContext.Text;
//food.Price = txtFoodPrice.Text;
if (rdFoodIsExist.Checked == true)
{
food.IsExist = true;
}
_Context.Foods.Add(food);
_Context.SaveChanges();
DialogResult=DialogResult.OK;
}
}متن خطا واضح گفته
باید convert کنید ، در دوره بارها انجام دادم
تشکر
قسمتی از سوالم مشکل مربوط به فیلد FoodId بود که بطور خودکار مقداردهی نمیشد، متوجه شدم که نوع این فیلد رو به اشتباه به جای int ، از نوع string تعریف کرده بودم.
سلامت باشید دوست من
این مشکلات طبیعی هستند و حل کردنشون بسیار لذت بخش خواهد بود
و این نشون میده تمرین کردن بسیار میتونه مفید باشه