تا %60 تخفیف خرید برای 6 نفر با صدور مدرک فقط تا
00 00 00
mehranmehrnia

خطا در Entity Framework Code First

سلام به دوستان عزیز،

من با Entity Framework Code First می خوام یک جدول درست کنم ولی با این Error روبرو میشم:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)<c#>

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
//using System.Data.Entity;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ef_3_09
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAddSomeNewCountries_Click(object sender, EventArgs e)
        {
            Models.DatabaseContext ODataBaseContext = new Models.DatabaseContext();
            Models.Country Cun = new Models.Country();

            try
            {
                Cun.Name = "iran";
                ODataBaseContext.Countries.Add(Cun);
                ODataBaseContext.SaveChanges();
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                
            }
            finally { }
        }
    }
}

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DatabaseContext"
   connectionString="Data Source=.; Initial Catalog=Country; Integrated Security=true;"
         providerName="System.Data.SqlClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
حسین احمدی

سلام ITPRO ای عزیز، از طریق Management Studio میتونید به SQL متصل بشید؟

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

بله می تونم

حسین احمدی

یک login تو sql ایجاد کنید و با اون به بانک متصل بشید ببینید بازهم مشکل لاگین وجود داره؟

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

چه جوری باید این کارو بکنم؟!

حسین احمدی

تو Management Studio که وارد بشید، تو پنجره Object Explorer بخشی هست به نام Security که داخل یک زیر بخش به نام Logins وجود داره، روی Logins راست کلیک کنید و Login مورد نظر رو بسازید. بعد از اینکه لاگین رو ساختید Connection String رو تغییر بدید و با لاگین تعریف شده به بانک متصل بشید. فقط توجه داشته باشید که نوع ورود SQL Server باید رو حالت Mixed Mode تعریف شده باشه.

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

اومدم این کارو انجام بدم ولی Error داد :

وب سایت توسینسو
حسین احمدی

به خاطر اینکه باید گزینه SQL Server Authentication رو انتخاب کنید، گزینه اول برای اضافه کردن User های خود ویندوز هست.

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

این کارو کردم ولی هنوز Error می ده:

وب سایت توسینسو
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="DatabaseContext"
   connectionString="Data Source=.; Initial Catalog=Country; Persist Security Info=True ;
 Integrated Security=true;User ID=test;Password=test"
         providerName="System.Data.SqlClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

-------------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
//using System.Data.Entity;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ef_3_09
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnAddSomeNewCountries_Click(object sender, EventArgs e)
        {
            Models.DatabaseContext ODataBaseContext = new Models.DatabaseContext();
            Models.Country Cun = new Models.Country();

            try
            {
                Cun.Name = "iran";
                ODataBaseContext.Countries.Add(Cun);
                ODataBaseContext.SaveChanges();
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                
            }
            finally { }
        }
    }
}

حسین احمدی

الان باید connection string رو به صورت زیر تغییر بدید:

Data Source=.; Initial Catalog=Country; Integrated Security=true;User ID=test; password=123456789; multipleactiveresultsets=true;

جای 123456789 کلمه عبوری که برای لاگین مشخص کردید رو قرار بدید.

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

پسورد رو test گذاشتم<xml>

<connectionStrings>

<add name="DatabaseContext"

connectionString="Data Source=.; Initial Catalog=Country; Persist Security Info=True ; Integrated Security=true;User ID=test;Password=test"

providerName="System.Data.SqlClient" />

</connectionStrings>

<xml>

حسین احمدی

اسم لاگین چیه؟ شما در قسمت userid باید نام لاگین و در قسمت password باید کلمه عبور رو بنویسید.

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

موقعی که داشتم login می ساختم اسم login رو test و پسورد اونو test گذاشتم

حسین احمدی

الان باید connection string رو به صورت زیر تغییر بدید:

Data Source=.; Initial Catalog=Country; Integrated Security=true;User ID=test; password=test; multipleactiveresultsets=true;
کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

این کارو کردم ولی بازم Error می ده:

<connectionStrings>
    <add name="DatabaseContext"
   connectionString="Data Source=.; Initial Catalog=Country; Persist Security Info=True ; 
Integrated Security=true;User ID=test;Password=test;multipleactiveresultsets=true;"
         providerName="System.Data.SqlClient" />
  </connectionStrings>
حسین احمدی

وقتی میخوایید به خود SQL وصل بشید، تو پنجره Connect to Server نام Server Name رو چی نوشته؟

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

وب سایت توسینسو

GHASEDAKSTORE

حسین احمدی

connection string رو به صورت زیر تغییر بده:

<connectionStrings>
    <add name="DatabaseContext"
   connectionString="Data Source=GHASEDAKSTORE ; Initial Catalog=Country; Integrated Security=true;multipleactiveresultsets=true;" providerName="System.Data.SqlClient" />
  </connectionStrings>
کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

این کارو کردم ولی درست نشد :

<connectionStrings>
    <add name="DatabaseContext"
   connectionString="Data Source=GHASEDAKSTORE ;
 Initial Catalog=Country; Integrated Security=true;multipleactiveresultsets=true;" providerName="System.Data.SqlClient" />
  </connectionStrings>
حسین احمدی

مقدار integrated security رو به sspi تغییر بدید ببینید مشکل حل میشه؟

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

نه مشکل حل نشد

<connectionStrings>
    <add name="DatabaseContext"
   connectionString="Data Source=GHASEDAKSTORE ; Initial Catalog=Country; Integrated Security=sspi;multipleactiveresultsets=true;" providerName="System.Data.SqlClient" />
  </connectionStrings>

وب سایت توسینسو
حسین احمدی

واقعاً چیزی به ذهنم نمیرسه! مشکلی نباید وجود داشته باشه، تا جایی که من متوجه شدم! اسم بانکتون چیه؟

کانال تلگرام: https://t.me/TOSINSOAhmadi
mehranmehrnia

Country

namespace Models
{
    /// <summary>
    /// نام این کلاس هر چه میتواند باشد ولی حتما باید از کلاس دی بی کانتکست اینهریت شود
    /// </summary>
    public class DatabaseContext : System.Data.Entity.DbContext
    {
        /// <summary>
        /// سازنده استاتیک کلاس دیتا بیس کانتکست
        /// این سازنده حداکثر یک بار اتفاق میفتد
        /// یا اولین بار که با یک ممبر استاتیک از این کلاس کار کار میکنیم
        /// یا اولین بار که یک شی از این کلاس میسازیم 
        /// این سازنده اور لود ندارد و اکسز مادی فایر نیز ندارد و خروجی هم ندارد
        /// استراتژی های دیتا بیس را در این سازنده مینویسم
        /// </summary>
        public System.Data.Entity.DbSet<Country> Countries { get; set; }        /// 
        static DatabaseContext()
        {
            // اين گزينه به درد برنامه نويسان می خورد
            //این استراتژی یعنی هر وقت که برنامه اجرا میشود اگر دیتا بیس وجود ندارد میسازد و 
            //اگر در مدل تغییری حاصل شده بود دیتا بیس را پاک میکند و مجددا میسازد
            //افزودن و پاک کردن فیلد  و پراپرتی در مدل نیز جز تغییرات حساب میشود

            System.Data.Entity.Database.SetInitializer
                (new System.Data.Entity.CreateDatabaseIfNotExists<DatabaseContext>());

        }

        /// <summary>
        /// سازنده پیش فرض 
        /// </summary>
        public DatabaseContext()
        {

        }

        /// <summary>
        /// کلاس هایی به جدول تبدیل میشود که در دیتابیس کانتکست یک کالکشن براشون ایجاد شده باشد
        /// ساخت یک کالکشن جنریک از جنس کانتری با نام کانتریز
        /// جنس این کالکشن از دی بی ست هست ولی میتوان هر کالکشن جنریک دیگری نیز ایجاد نمود
        /// کالکشن های دیگر همچون هش تیبل - لیست - ای اینام ریبل - دیکشنری 
        /// </summary>
    }
}

--------------------------------------------------------------------------

//Install-Package EntityFrameWork -ProjectName Models
namespace Models
{
    /// <summary>
    /// کلاس کانتری که از کلاس بیس انتیتی ویت ایز اکتیو اینهریت شده است
    /// کلاس هایی به جدول تبدیل میشود که در دیتابیس کانتکست یک کالکشن براشون ایجاد شده باشد
    /// </summary>
    public class Country : System.Object
    {
        /// <summary>
        /// تحت هر شرايطی، سازنده پيش فرض را می نويسيم
        /// </summary>
        public Country()
        {
            ID = System.Guid.NewGuid();
        }

        /// <summary>
        /// تعریف پراپرتی آی دی
        /// با استفاده از اتربیوت های ذیل دیتا بیس را کاستومایز میکنیم
        /// </summary>
        [System.ComponentModel.DataAnnotations.Key()]
        [System.ComponentModel.DataAnnotations.Required()]
        [System.ComponentModel.DataAnnotations.Schema.Column("CountryId")]
        [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated
            (System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None)]
        public System.Guid ID { get; set; }

        /// <summary>
        /// تعریف پراپرتی نام کشور
        /// با استفاده از اتربیوت های ذیل دیتا بیس را کاستومایز میکنیم
        /// </summary>
        [System.ComponentModel.DataAnnotations.Required()]
        [System.ComponentModel.DataAnnotations.MaxLength(50)]
        [System.ComponentModel.DataAnnotations.Schema.Column("CountryName")]
        public string Name { get; set; }

        /// <summary>
        /// پراپرتی نمایش نام کشور ها
        /// </summary>
        public string DisplayName
        {
            get
            {
                string strResult =
                    string.Format("{0} - [{1}]", ID, Name);

                return (strResult);
            }
        }

    }
}

وب سایت توسینسو
پاسخ شما
برای ارسال پاسخ خود وارد شوید.