摘要: 在WCF Service Configuration Editor的使用中,我们通过配置工具自动生成了WCF服务端的config文件。现在我们来看下这个配置文件各个标签的意义(解释在下面xml文件中的注释里)。<?xml version="1.0" encoding="utf-8" ?><configuration> <system.ServiceModel><!-- 这个程序集我们在项目中有引用的 --> <!-- services 元素包含应用中驻留的所有service的 配置要求 --> 阅读全文
posted @ 2012-08-29 13:00 阿凡迪 阅读(2505) 评论(4) 推荐(2) 编辑
摘要: 问题: 在你的多对多关系中,中间链接表包含了一些负载数据(也就是除了外键之外还有其他附加列)。现在你想要创建一个用两个一对多的关联代表多对多关联的模型。解决过程: 如果连接表含有额外的信息列,EF会为它创建一个新的实体类型。所以结果就成了,这个模型包含了两个一对多的关系。假设我们的表关联如图2-4-1所示。图2-4-1 一个Oder可能有很多Item,一个Item可能会出现在很多Order中。另外,在中间表OderItem中我们还多了一个Count的属性,这个属性也就负载属性。创建这样的模型,需要做的事情有:在你的项目上右键,选择“添加新项”,在弹出的Visual C# Data Tem... 阅读全文
posted @ 2012-08-27 19:36 阿凡迪 阅读(737) 评论(1) 推荐(1) 编辑
摘要: 问题: 使用WCF Service Configuration Editor工具生成XML文件来进行WCF的配置,而不是在CS文件中敲代码。续上篇WCF入门的HelloWorld程序。解决过程:要取代上篇文章中HostApp.cs文件里的几行配置代码,使用工具配置步骤如下:(PS:如果对文件名有疑问,可以参看一个WCF入门的HelloWorld程序)打开VS,在Host项目中右键,新建一个App.config文件。点击菜单栏Tools选项,在下拉菜单中选择WCF Service Configuration Editor。在弹出的工具窗口中选择“File->open->Config 阅读全文
posted @ 2012-08-26 18:01 阿凡迪 阅读(4322) 评论(1) 推荐(8) 编辑
摘要: 问题: 在你的数据库中有几张表,它们是通过链接或者是中间链接表关联在一起。链接表中只包含了将这两张表连接成多对多关系的外键。现在你想把这些表都导入到多对多模型中。解决过程: 我们假设你的数据库是如图2-3-1所示的情况:图2-3-1要想把这三张表都导入到你的多对多关系模型中,需要做以下几件事:在你的项目上右键,添加新项,选择ADO.NET Entity Data Model。选择从数据库中生成模型,点击下一步。使用向导,选择一个既有数据库连接或者新建一个连接。在选择你的数据库对象的对话框中,选择表Album、LinkTable和Artist。并保持最下面两个复选框选中的状态。点击完成。向导会. 阅读全文
posted @ 2012-08-26 15:39 阿凡迪 阅读(553) 评论(5) 推荐(0) 编辑
摘要: 问题:你的数据库中已经有了几张表,也许还有几张视图、一些外键约束的设置,所以现在你想根据现有的数据库创建模型。解决过程:我们假设你的数据库是用来描述诗人和他们的诗集的,关系图如图2-2-1所示:图2-2-1.从上面这张图中,我们可以看到,一个诗人可以是很多诗篇的作者,每一首诗会根据它的格律(Meter)分类,要把视图、表和关系这些引入模型,需要做如下几项事情:在你的项目上右键,选择“新建像项”。从Visual C# Item 的Data Templates中选择ADO.NET Entity Data Model。选择从已有数据库中生成模型,点击下一步。你可以选择新建数据库连接,也可以选择已有的 阅读全文
posted @ 2012-08-26 12:27 阿凡迪 阅读(1245) 评论(2) 推荐(1) 编辑
摘要: 要解决的问题: WCF入门,创建一个HelloWorld程序。解决方法:打开VS,创建一个空白的solution。然后依次创建下面三个项目:Contracts:类库项目,添加System.ServiceModel的引用。Services:类库项目,添加System.ServiceModel和对Contracts项目的引用。Host:控制台项目,田间System.ServiceModel和对Contracts、Services项目的引用。在项目上右键,Add Reference->选择.NET标签页,再找到System.ServiceModel 添加。效果如下图所示,并将Host项目设为启 阅读全文
posted @ 2012-08-26 10:21 阿凡迪 阅读(3852) 评论(13) 推荐(5) 编辑
摘要: 问题: 两个List<Student>,求交、并、补集。解决办法:用直接调用List里面的现成方法来解决,不过当数据量大的时候,这时不可行的。anyway,先看这个吧(以求交集为例)。实现IEqualityComparer接口public class StudentListEquality : IEqualityComparer<Student> { public bool Equals(Student x, Student y) { return x.StudentId == y.StudentId; } public ... 阅读全文
posted @ 2012-08-25 12:44 阿凡迪 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 当我们在创建一个ObjectContext实例时,我们总是把它加到using()语句里面。如下:using (var context = new EFRecipesEntities()){…} 如果你对这种模式不熟悉的话,没关系,这很简单的。通常,当我们创建一个实例对象时,我们用new这个操作符,并给它的一些变量赋上值。当变量超出它本身的范围内和某一对象不被其他东西引用时,垃圾回收机制就会在某个时间行使职责,将这段内存空间重新分给的对像。这个机制很好,因为在.net程序中我们会创建无数对象,这些对象大都都会占用一定的资源,不用时等待垃圾收集器来把这些收回去。但是垃圾收集器具有不确定性,它按自. 阅读全文
posted @ 2012-08-25 12:27 阿凡迪 阅读(508) 评论(2) 推荐(1) 编辑
摘要: 问题: 有一个List<CourseList> testlist,类CourseList中有CourseId, CourseName,CourseStatus,TeacherName,LevelName,StudentNumber这五个属性。现在想实现testlist的按CourseList类的各个属性排序。解决办法:定义各属性的枚举类型public enum CompareType{ CourseId, CourseName, CourseStatus, TeacherName, LevelName, StudentNumber}实现IComparer接口... 阅读全文
posted @ 2012-08-25 11:45 阿凡迪 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 问题:在C#的List中想要获取索引为3的元素的值解决办法:string s=strList[3];原因:最初想当然以为应该调用List.find(i)方法,或者是List.Item[i].但在查过MSDN之后,你会发现其实List有一个Item属性,但是List.Item[]会报错,直接List[i]就可以了。至于List.find().那是查找指定值的,如studentList.find(s=>s.name="LiLy");看来微软是拿List当Array用了。 阅读全文
posted @ 2012-08-25 11:30 阿凡迪 阅读(8527) 评论(2) 推荐(1) 编辑