我正在为我的参考数据库创建帮助应用程序。这是db
的代码public class DayNameDataContext : DataContext
{
public static string DBConnectionString = "Data Source=isostore:/imieniny.sdf;";
public ImieninyDataContext(string connectionString) : base(connectionString) { }
public Table<DayName> DayNameTable;
}
[Table]
public class DayName
{
[Column(DbType = "INT NOT NULL IDENTITY", IsDbGenerated = true,IsPrimaryKey = true, AutoSync = AutoSync.OnInsert)]
public int Id { get; set; }
[Column(DbType = "DATETIME NOT NULL")]
public DateTime Data { get; set; }
[Column(DbType = "NVarChar(30) NOT NULL")]
public string Name { get; set; }
}
在我的应用中,我有页面加载事件代码
DayNameDataContext im = new DayNameDataContext(DayNameDataContext.DBConnectionString);
if (im.DatabaseExists() == false)
{
im.CreateDatabase();
}
当我将db从独立存储复制到桌面并在sql managament studio中打开它时,我没有创建任何表。我不需要任何数据绑定。
答案 0 :(得分:0)
我看了一下我的Linq-to-SQL生成的数据库代码,我注意到生成的代码和你的代码之间存在很大差异。
我的DataContext包含一个Table属性,而不是Table变量可能导致问题。
还有这些额外的行:
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
#region Extensibility Method Definitions
partial void OnCreated();
partial void InsertHeighscores(Heighscores instance);
partial void UpdateHeighscores(Heighscores instance);
partial void DeleteHeighscores(Heighscores instance);
#endregion
public HeighScoresDataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
我的表还有一些额外的行,也就是构造函数和可扩展性方法定义:
#region Extensibility Method Definitions
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnIdChanging(int value);
partial void OnIdChanged();
partial void OnDifficultyChanging(int value);
partial void OnDifficultyChanged();
partial void OnFieldSizeChanging(int value);
partial void OnFieldSizeChanged();
partial void OnTimeChanging(int value);
partial void OnTimeChanged();
#endregion
public Heighscores()
{
OnCreated();
}
在我的评论中尝试我的建议尝试卸载您的应用并为我重新部署它,一旦问题解决了。