دوستان من از این کد استفاده کردم و جواب داد ادرس کانکشن من رو ایجاد کرد. این رو هم بگم من از EF6 استفاده میکنم برای ارتباط با دیتابیس
دستور در فرم.
public void updateConfigFile(string con)
{
//updating config file
XmlDocument XmlDoc = new XmlDocument();
//Loading the Config file
XmlDoc.Load(AppDomain.CurrentDomain.SetupInformati on.ConfigurationFile);
foreach (XmlElement xElement in XmlDoc.DocumentElement)
{
if (xElement.Name == "connectionStrings")
{
//setting the coonection string
xElement.FirstChild.Attributes[2].Value = con;
}
}
//writing the connection string in config file
XmlDoc.Save(AppDomain.CurrentDomain.SetupInformati on.ConfigurationFile);
}
void ChangeConnectionAppConfig()
{
try
{
StringBuilder Con = new StringBuilder("metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=");
Con.Append(TxtIP.Text);
Con.Append(";initial catalog=");
Con.Append(txtMulti1.Text);
Con.Append(";user id=MyLogin;MultipleActiveResultSets=True;App=Entit yFramework");
string strCon = Con.ToString();
updateConfigFile(strCon);
//Create new sql connection
SqlConnection Db = new SqlConnection();
//to refresh connection string each time else it will use previous connection string
ConfigurationManager.RefreshSection("connectionStr ings");
Db.ConnectionString = ConfigurationManager.ConnectionStrings["DBFAPOSHEntities"].ToString();
}
catch (Exception E)
{
MessageBox.Show(ConfigurationManager.ConnectionStr ings["DBFAPOSHEntities"].ToString() + ".This is invalid connection", "Incorrect server/Database");
}
}
و این دستور ایجاد شده در App.config
<?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.Entit yFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Storage_program_canopy.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<connectionStrings>
<add name="DBFAPOSHEntities" providerName="System.Data.EntityClient" connectionString="" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnect ionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServ ices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<userSettings>
<Storage_program_canopy.Properties.Settings>
<setting name="IP" serializeAs="String">
<value>192.168.110.132</value>
</setting>
</Storage_program_canopy.Properties.Settings>
</userSettings>
</configuration>
از این جهت که دیتابیس رو درست میکنه مشکلی نیست. ولی وقتی دستور ارتباط این طوری باشه پیغام خطا این میشه.
<add name="DBFAPOSHEntities" providerName="System.Data.EntityClient" connectionString="" />
1.png
ولی وقتی دستور در app.config این طوری بشه پیغام خطا این میشه.
<add name="DBFAPOSHEntities" connectionString="" providerName="System.Data.EntityClient"/>
2.png
دوستان من چیکار کنم تا app.config با من راه بیاد و بزاره از دیتابیسم استفاده کنم.
وقتی ادرس در app.config اضافه میشه به این صورت هستش.
<add name="DBFAPOSHEntities" providerName="System.Data.EntityClient" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.110.132\sqlexpress;initial catalog=DBFAPOSH;user id=MyLogin;MultipleActiveResultSets=True;App=Entit yFramework" />