日期:2014-05-20  浏览次数:20768 次

关于LINQ查询的问题(只想查询表中的几个字段)
现有一张表。


SQL code

----创建表----
CREATE TABLE [dbo].[T_HOS_DOCHOSCONNECTION](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [DOCID] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [DOCNAME] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [HOSPITALID] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
    [HOSPITALNAME] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
 CONSTRAINT [PK_T_HOS_DOCHOSCONNECTION] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]



SQL code

-----添加测试数据------
insert into t_hos_DocHosconnection
select '1','张三','032200-01','山西医科大学附属汾阳医院' union all
select '2','李四','032200-01','山西医科大学附属汾阳医院' union all
select '3','王五','032200-01','山西医科大学附属汾阳医院' union all
select '4','赵六','101500-02','密云县中医院' union all
select '5','赵六','101500-02','密云县中医院' union all
select '6','马奇','150001-02','哈尔滨工业大学医院' union all
select '7','赵兵','150001-02','哈尔滨工业大学医院' union all
select '8','马龙','6121000-01','峨嵋红会医院' union all
select '9','李文','6121000-01','峨嵋红会医院' 





我现在用一个dropdownlist 绑定数据。我只想要hospitalid 和 hospitalname两个字段,然后把重复的给去除掉,怎么实现。我刚开始使用linq请各位朋友帮忙解决下!谢谢!

------解决方案--------------------
你这样数据库设计有问题,不符合第三范式

建议你把hospital独立出来,单独作为一个表,用外键关联

linq也可以用distinct啊
------解决方案--------------------
from item in t_hos_DocHosconnection select item.hospitalid,item.hospitalname
------解决方案--------------------
探讨
from item in t_hos_DocHosconnection select item.hospitalid,item.hospitalname

------解决方案--------------------
C# code

 (from model in dic
                         where model.HOSPITALID == hospitalid
                         select new { hospitalid = model.hospitalid, hospitalname = model.hospitalname }).Distinct();

------解决方案--------------------
探讨
现有一张表。



SQL code

----创建表----
CREATE TABLE [dbo].[T_HOS_DOCHOSCONNECTION](
[ID] [int] IDENTITY(1,1) NOT NULL,
[DOCID] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[DOCNAME……