有人知道在我.dbml文件中进行一些自定义更改后,如何更新数据模型类。
我尝试在.dbml中手动标记一些可以为空的字段,但无论我重建多少次,代码中都看不到更改。我甚至尝试在外部工具中编辑.dbml(xml),然后保存,但没有用。
编辑<< 这是shaunmartin的片段......
<Table Name="dbo.Clients_Banks" Member="Clients_Banks">
<Type Name="Clients_Banks">
<Column Name="ID" Type="System.Int32" DbType="Int NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
<Column Name="FKClients" Type="System.Int32" DbType="Int NOT NULL" CanBeNull="false" />
<Column Name="BankName" Type="System.String" DbType="NVarChar(100) NOT NULL" CanBeNull="false" />
<Column Name="BankAccountNo" Type="System.String" DbType="NVarChar(50) NOT NULL" CanBeNull="false" />
<Column Name="Party" Type="System.String" DbType="NVarChar(50)" CanBeNull="true" />
<Column Name="ClientAccountNo" Type="System.String" DbType="NVarChar(50) NOT NULL" CanBeNull="false" />
<Column Name="Active" Type="System.Boolean" DbType="Bit NOT NULL" CanBeNull="false" />
<Column Name="NonResidentialAccount" Type="System.Boolean" CanBeNull="false" />
<Column Name="Swift" Type="System.String" CanBeNull="true" />
<Column Name="Iban" Type="System.String" CanBeNull="true" />
<Association Name="Clients_Clients_Banks" Member="Clients" ThisKey="FKClients" OtherKey="ID" Type="Clients" IsForeignKey="true" />
</Type>
我刚刚将CanBeNull属性从false改为true,为最后两个成员(Iban和Swift)。没什么大不了的,但我需要这样做。
答案 0 :(得分:0)
好的,我假设您已经在实体设计器中选择了Swift或Iban字段后,在Visual Studio的“属性”窗口中将 Nullable 设置为 True ,然后您已保存以重新生成.Designer.cs文件。如果是这样(听起来你正在这样做......),这就是你应该看到的:
将Nullable设置为 True :
<Column Member="Swift" Storage="_Swift" Type="System.String" CanBeNull="true" UpdateCheck="Always" />
应该生成这个:
[Column(Storage="_Swift")]
public string Swift
{
...
将Nullable设置为 False :
<Column Member="Swift" Storage="_Swift" Type="System.String" CanBeNull="false" UpdateCheck="Always" />
应该生成这个:
[Column(Storage="_Swift", CanBeNull=false)]
public string Swift
{
...
正如您所看到的,默认情况下String是可为空的,因此当Nullable设置为True时,Column属性中不需要CanBeNull属性。
无论如何,如果以上内容没有提供更多线索,您可能需要提供生成代码的片段(正如我在您的问题评论中提到的那样)。希望这会有所帮助。