【发布时间】:2011-12-03 10:06:31
【问题描述】:
我有这个从数据库中选择所有房间类型的功能,我正在将数据表中的值转换为通用列表以优化我正在创建的系统的速度我的问题是如何隐藏每个为字段 isActive 存储的值具有来自“Active”/“Inactive”数据库的值,我必须在 C#.net 4.0 中将其转换为布尔值,你们能帮我解决这个问题吗?
internal static List<RoomType> FetchRoomTypeList()
{
List<RoomType> roomTypes = new List<RoomType>();
SqlCommand commRoomTypeSelector = ConnectionManager.MainConnection.CreateCommand();
commRoomTypeSelector.CommandType = CommandType.StoredProcedure;
commRoomTypeSelector.CommandText = "Rooms.asp_RMS_RoomTypeList_Select";
SqlDataAdapter da = new SqlDataAdapter(commRoomTypeSelector);
DataSet ds = new DataSet();
da.Fill(ds);
roomTypes = (from rt in ds.Tables[0].AsEnumerable()
select new RoomType
{
RoomTypeID = rt.Field<int>("RoomTypeID"),
RoomTypeName = rt.Field<string>("RoomType"),
LastEditDate = rt.Field<DateTime>("LastEditDate"),
LastEditUser = rt.Field<string>("LastEditUser"),
IsActive = rt.Field<string>("IsActive") == "Active"
}
).ToList();
return roomTypes;
}
下面的行不返回真值,它总是返回假值
IsActive = rt.Field<string>("IsActive") == "Active"
要求的样本数据:
【问题讨论】:
-
发现
condition? true: false的无用使用。 -
哥们能不能给个好的建议:(
-
如果我看到
== false,这对我来说很有意义。但否则 == true 和 ?true:false (反之亦然)让我很生气。这对我来说总是一个坏旗子 -
是的,你是对的哥们.. id 修改了样本
-
您是在测试标题所暗示的“Y”/“N”,还是像您的问题所示的“Active”/“InActive”?
标签: c# linq list datatable enumerable