【发布时间】:2014-05-28 08:59:14
【问题描述】:
我得到以下代码:
public class SqlData : DataContext
{
public Table<TextbausteinTyp> TextbausteinTypen;
public SqlData(string connectionString) : base(connectionString) { }
public void CreateDb()
{
CreateDatabase();
}
}
[Table(Name = "tqTextbausteinTyp")]
public class TextbausteinTyp
{
[Column(IsPrimaryKey = true, DbType = "BigInt IDENTITY NOT NULL", IsDbGenerated = true, UpdateCheck = UpdateCheck.Never)]
public int Id;
[Column]
public string Name;
}
[Table(Name = "tqTextbaustein")]
public class Textbaustein
{
[Column(IsPrimaryKey = true, DbType = "BigInt IDENTITY NOT NULL", IsDbGenerated = true, UpdateCheck = UpdateCheck.Never)]
public int Id;
[Column]
public TextbausteinTyp IdBausteintyp;
[Column]
public string Inhalt;
[Column]
public string Name;
}
如您所见,它非常简单。执行 CreateDatabase() 时收到以下错误:
无法确定“tqOrder.data.TextbausteinTyp”的 SQL 类型
连接字符串指向由此代码创建的 MSSQL 数据库(但没有表)
这里出了什么问题?
【问题讨论】:
-
DbType不是枚举吗?我猜你不能给它分配一个字符串值。见msdn.microsoft.com/de-de/library/… -
根据 msdn 不是:msdn.microsoft.com/de-de/library/…
-
您使用的是什么版本的 MSSQL Server?
-
我走错了路 :) 导致错误的不是“TextbausteinTyp”类,而是另一个类/表中对该表/类的引用是错误的。我会更新我的问题,所以真正的错误部分会被发现..
标签: c# sql linq linq-to-sql