小编BDW*_*BDW的帖子

用于Web开发的MVVM

我一直在阅读MVVM,到目前为止发现它非常有趣.但是,我发现的大多数示例都适用于Windows应用程序,而不是Web应用程序.我也看到很多提到与Silverlight一起使用的MVVM,我知道Silverlight可以用于Web或Windows应用程序.

所以我的问题是 - MVVM是基于Web的应用程序的有效模式吗?如果是,UI必须是Silverlight吗?我正在决定将哪些技术用于我们需要设计的新中型网站,而Silverlight可能是对权力的强烈推销 - 尽管我们在幕后使用的技术并不重要非常.

任何人都可以在网络环境中使用MVVM提供的任何信息都将受到赞赏.示例代码也很棒.

.net silverlight mvvm jsrender

8
推荐指数
5
解决办法
1万
查看次数

在REST/WCF服务中将数据集从LINQ返回到SQL

我有一个WCF/REST Web服务,我正在考虑使用Linq to SQL从中返回数据库信息.

对表和返回行进行基本查询很容易,例如:

    [WebGet(UriTemplate = "")]
    public List<User> GetUsers()
    {
        List<User> ret = new List<User>(); ;
        using (MyDataContext context = new MyDataContext())
        {
            var userResults = from u in context.Users select u;
            ret = userResults.ToList<User>();
        }

        return ret;
    }
Run Code Online (Sandbox Code Playgroud)

但是,如果我想从多个表中返回数据或者与表的模式不完全匹配,该怎么办?我无法弄清楚如何从此查询返回结果,例如:

 var userResults = from u in context.Users
   select new  { u.userID, u.userName, u.userType, 
                 u.Person.personFirstname, u.Person.personLastname };
Run Code Online (Sandbox Code Playgroud)

显然,生成的行集不符合"用户"架构,因此我不能只转换为User对象列表.

我尝试在对象模型中创建一个与结果集相关的新实体,但它不想进行转换.

我错过了什么?

编辑:相关问题:存储过程返回的结果如何?同样的问题,将它们打包以通过服务返回的最佳方法是什么?

linq wcf

5
推荐指数
2
解决办法
2630
查看次数

如何使用Linq和Entity Framework获取不同的,不区分大小写的列表

我需要从实体框架查询的结果中获取不区分大小写的列表.我有以下内容:

 var myList = myEF.GroupBy(e => new { e.Code, e.Description })
            .Select(e => e.First())
            .ToList();
Run Code Online (Sandbox Code Playgroud)

这给了我一个独特的列表,但它区分大小写.我需要不区分大小写.

我想我应该可以这样做:

var myList = myEF.GroupBy(e => new { e.Code, e.Description }, StringComparer.InvariantCultureIgnoreCase)
            .Select(e => e.First())
            .ToList();
Run Code Online (Sandbox Code Playgroud)

但这似乎并不想与匿名对象一起使用.

添加.ToLower.ToLowerInvariant似乎也不起作用.也没有使用Distinct(StringComparer.InvariantCultureIgnoreCase)而不是GroupBy.

似乎应该有一个简单的方法来做到这一点,但我找不到它.

c# linq entity-framework

5
推荐指数
1
解决办法
3010
查看次数

Silverlight:动画和/或平移图像

我有一个客户要求将动画/平移图像添加到他们的网站.基本上,它是一个标准尺寸的图像,他想把它放在一个稍微窄一点的框架中,让图像从左到右平移,作为他网站上的视觉元素.不需要点击和拖动; 它基本上是一个从左到右的动画平移,然后重新开始另一张图片.

这是一个.NET页面,我有一堆Silverlight书籍坐在这里,我想要学习它.我觉得现在和任何人一样好,因为现在我真的有一个真实的用途.为了记录,我是.NET开发人员的经验,但除了阅读几本书的前几章之外,还没有玩过Silverlight.

所以......第一个问题,我假设这可能与Silverlight有关,我错了吗?

第二个问题,如果我能做到这一点,有人可以指出我在正确的方向上做到这一点需要哪些功能/控制/技术?我正在阅读深度变焦,但这似乎并不是我想要的.我只需要采用标准尺寸的jpeg/gif /无论文件,并从左到右缓慢平移.我需要学习哪些Silverlight功能/花一些时间学习才能做到这一点?

silverlight image pan

4
推荐指数
1
解决办法
1370
查看次数

有人能告诉我为什么这个lambda排序表达式不起作用?

我是lambda表达的新手,只是遇到了一些我不理解的东西.

我有一个像这样的对象:

class MyListItem
{
   string date; //date in the format "2010-12-05"
   int Hour;    //hour of day as an int

}
Run Code Online (Sandbox Code Playgroud)

我有一个这些对象的列表,代表一些日期和时间.

我想按日期和小时对此列表进行排序,所以我试试这个:

List<MyListItem> myList = new List<MyListItem>();

myList = getsomedata(); //populate list

myList.Sort((a, b) => (a.date + a.Hour.ToString()).CompareTo(b.date + b.Hour.ToString()));
Run Code Online (Sandbox Code Playgroud)

这是有效的.问题是小时是一个int,所以它有时不是2位数,导致这样的类型:

2010-12-05 1
2010-12-05 10
2010-12-05 11
2010-12-05 12
2010-12-05 13
2010-12-05 2
2010-12-05 21
2010-12-05 22
Run Code Online (Sandbox Code Playgroud)

我希望它像:

2010-12-05 1
2010-12-05 2
2010-12-05 10
2010-12-05 11
2010-12-05 12
2010-12-05 13
2010-12-05 21
2010-12-05 22
Run Code Online (Sandbox Code Playgroud)

所以我尝试格式化字符串以在我在lambda中解析之前添加零:

ret.Sort((a, b) => (a.date …
Run Code Online (Sandbox Code Playgroud)

c# lambda

4
推荐指数
1
解决办法
2392
查看次数

将全局错误处理添加到WCF REST服务

我有一个WCF/REST Web服务,我正在尝试添加一个全局异常处理程序.我正在寻找类似于标准.NET网站中的Application_Error事件的东西.

我发现了很多关于使用IErrorHandler和IServiceBehavior的信息,如下所示:http://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.ierrorhandler.aspx#Y1479

这似乎是我需要的,但我发现的每个例子都假定该服务是在web.config中定义的.我不这样做 - 我正在使用在global.asax中配置的RouteTables,如下所示:

 public class Global : HttpApplication
{
    void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes();
    }

    private void RegisterRoutes()
    {
        // Edit the base address of Service1 by replacing the "Service1" string below

        RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHost2Factory(), typeof(myService)));


    }
Run Code Online (Sandbox Code Playgroud)

那么,鉴于此,我如何配置我的自定义IErrorHandler和IServiceBehavior?我是否在正确的轨道上,因为我使用的是RouteTable,而不是通过web.config配置它?我对WCF很新....

rest wcf

4
推荐指数
1
解决办法
1231
查看次数

独家打开/修改XML文件?

我需要专门打开一个XML文件,进行修改并保存.

我可以打开它并很容易地进行修改:

DataSet ds = new DataSet();
ds.ReadXml(filename);

DataTable table = ds.Tables[0];
DataRow[] rows = table.Select("Inventory== 1");
DataRow row = rows[0];
row["Inventory"] = "2";
ds.WriteXml(filename);
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但它不会锁定文件.我绝对需要锁定文件.

所以我尝试了一个流:

FileStream stream = File.Open(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.None);

DataSet ds = new DataSet();
ds.ReadXml(stream);

DataTable table = ds.Tables[0];
DataRow[] rows = table.Select("Inventory== 1");
DataRow row = rows[0];
row["Inventory"] = "2";
ds.WriteXml(stream);
stream.Close();
Run Code Online (Sandbox Code Playgroud)

这会以独占方式打开文件,但是当它保存时,它会将XML附加到时间结束,它不会覆盖它,所以我最终得到的结果如下:

<Widgets>
  <Widget Code="5" Number="10" Inventory="1" />
  <Widget Code="6" Number="11" Inventory="15" />
  <Widget Code="7" Number="12" Inventory="22" />
</Widgets>
<Widgets>
   <Widget Code="5" Number="10" …
Run Code Online (Sandbox Code Playgroud)

c# xml

3
推荐指数
2
解决办法
1172
查看次数

标签 统计

c# ×3

linq ×2

silverlight ×2

wcf ×2

.net ×1

entity-framework ×1

image ×1

jsrender ×1

lambda ×1

mvvm ×1

pan ×1

rest ×1

xml ×1