自定义数据上下文和远程数据库
本文关键字:数据库 数据 上下文 自定义 | 更新日期: 2023-09-27 18:33:34
我检查了这个网站,没有找到任何解决方案。我被制作了一个带有 mvc4 的网站。我编写了自定义数据实体。但是,该应用程序在本地主机上运行良好,但我无法在远程服务器上使用它。
这是我的配置web.config 连接字符串
<add name="DefaultConnection" connectionString="Data Source=ipaddress;Initial Catalog=DataContext;User ID=user;Password=pass" providerName="System.Data.SqlClient" />
这是我的数据上下文。这将在本地 sql 服务器中创建新的数据库。如何通过此设置使用远程服务器?
public class DataContext : DbContext
{
public DbSet<Sayfalar> sayfa { get; set; }
public DbSet<Uyeler> uye { get; set; }
public DbSet<Roller> rol { get; set; }
public DbSet<Loglar> log { get; set; }
public DbSet<Resimler> resim { get; set; }
}
class dbYenile : DropCreateDatabaseIfModelChanges<DataContext>
{
protected override void Seed(DataContext context)
{
MembershipCreateStatus Durum = new MembershipCreateStatus();
Membership.CreateUser("demo", "123456", "demo@demo.com", "soru", "cevap", true, out Durum);
Durum = new MembershipCreateStatus();
Membership.CreateUser("demo1", "123456", "demo1@demo.com", "soru", "cevap", true, out Durum);
Roles.CreateRole("Yonetici");
Roles.AddUsersToRoles(new string[] { "demo" }, new string[] { "Yonetici" });
//Console.WriteLine(Hatalar.uyelikHatalari(Durum));
}
}
在这里,Global.asax.cs application_start空白。
Database.SetInitializer<DataContext>(new dbYenile());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
BundleTable.Bundles.RegisterTemplateBundles();
默认情况下,
EF 使用的数据库连接的名称与从 DbContext 派生的类相同,这意味着上面的连接应命名为"DataContext",而不是"DefaultConnection"。 如果要保留连接名称,可以将其添加到 DataContext 类中:
public DataContext: base("DefaultConnection") {}
否则,将 web.config 中的连接字符串重命名为"数据上下文"