当前位置:首页 > 青鸟知识 > net

.Net中的反射

来源:湖南it培训 发布日期:2016-05-21
摘要:建表及其标题我们再看看别的一种环境,我们需求标识酒店预订的情况:未提交、已提交、已消除、受理中、已退回、已订妥、已过时。

 

        此时,良多开拓职员会在数据库中成立一张小表,叫做BookingStatus(预订情况),然后将如上情况插手出来,就似乎多么:

  犹如城市(City)表一样,在系统的其他表,好比说酒店定单表(HotelOrder)中,经由过程字段StatusId援用这个表来取得酒店预订情况。但是,几个月今后,固然看上往和城市表的用法一样,成果却发现这个表只在数据库做分离查询或 只在法式中挪用,却历来不做点窜,由于预订流程肯定上去后通常为不会变动的。在应用法式中,也不会给用户供应对这个表记实的增删改支配界面。


       而在法式中挪用这个表时,常常是这类环境:我们需求依照预订情况对定单列表中止选择。此时但凡的做法是应用一个下拉菜单(DropDownList),菜单的数据源(DataSource),我们能够很等闲地经由过程一个SqlDataReader获得,我们将DropDownList的文本Text设为Status字段,将值Value设为Id字段。
此时,我们应当已发现标题:

若是我们还有航班预订、游船预订,或其他一些情况,我们需求在数据库中树立良多近似的小表,构成数据库表的数量过量。

我们应用DropDownList等控件取得表内容时,需求毗邻到数据库中止查询,埋伏地影响机能。

       同时,我们也注重到三点:

此表普通会在数据库分离查询中应用到。假定我们有代表酒店定单的HotelOrder表,它包括代表情况的StatusId字段,我们的查询可以会像多么:Select *, (Select Status From BookingStatus Where Id = HotelOrder.StatusId) as Status From HotelOrder。

在应用法式中,此表常常作为DropDownList或其他List控件的数据源。

这个表几近从不改动。




拒绝套路 试听有礼

数据已加密保证您的信息安全