我很困惑为什么会发生以下情况:
场景是在 Stcoxrefs(它是一个纯实体而不是派生版本)中有两个位字段。
使用以下 int、char、varchar 字段是正确的,但无论数据库中有什么,位字段始终为 false,尽管在 linqpad 中运行查询可以正常工作:
public List<Stcoxref> GetAllowedStockholderTransferOrganisations(int currentStockHolder)
{
return (from s in Entities.Stcoxrefs
where s.OrganisationId == currentStockHolder
orderby s.CompanyName2
select s).ToList();
}
表映射是正确的,因为以下将证明...
使用以下函数,所有字段都是正确的,位字段不再总是错误的,而是根据 DB 中的数据进行设置。
public List<Stcoxref> GetAllowedStockholderTransferOrganisations(int currentStockHolder)
{
List<Stcoxref> test1 = (from s in Entities.Stcoxrefs
where s.OrganisationId == currentStockHolder
orderby s.CompanyName2
select s).ToList();
return test1;
}
啊?!?!?!?
编辑:Stcoxref 是一个 EntityType,这里是验证的表映射:
STCOXREF_NO : int -> StcoxrefNo : Int32
ROLE_CODE : char -> RoleCode : String
ORG_ID : int -> OrganisationId : Int32
ROLE_CODE2 : char -> RoleCode2 : String
ORG_ID2 : int -> OrganisationId2 : Int32
COMPANY_NAME2 : varchar -> CompanyName2 : String
INACTIVE : bit -> InActive : Boolean
SUPRESS_EMAIL : bit -> SuppressEmail : Boolean
InActive 和 SuppressEmail 都表现出奇怪的行为。