小编Ray*_*Ray的帖子

实体框架4.1 InverseProperty属性和ForeignKey

我将使用外键在Employee和Team实体之间创建两个引用.所以我定义了两个实体如下

public class Employee
{
    public int EmployeeId { get; set; }
    public string Name { get; set; }

    [ForeignKey("FirstTeam")]
    public int FirstTeamId { get; set; }

    [InverseProperty("FirstEmployees")]
    public virtual Team FirstTeam { get; set; }

    [ForeignKey("SecondTeam")]
    public int SecondTeamId { get; set; }

    [InverseProperty("SecondEmployees")]
    public virtual Team SecondTeam { get; set; }
}

public class Team
{
    public int Id { get; set; }
    public string TeamName { get; set; }

    [InverseProperty("FirstTeam")]
    public virtual ICollection<Employee> FirstEmployees { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# mapping entity cascading-deletes entity-framework-4.1

31
推荐指数
1
解决办法
2万
查看次数

ModelMapper库是否支持ArrayList或HashSet等集合?

此问题与AutoMapper无关.我的问题是关于java中的ModelMapper,但是我无法为modelmapper创建新的标签作为我的小声誉.抱歉混淆.

无论如何,我的问题是modelmapper库是否支持arraylist或hashset等集合?它似乎不支持集合映射的集合.这是真的吗?

java modelmapper

28
推荐指数
4
解决办法
2万
查看次数

如何连接TextBox的TextChanged事件和Command以便在Silverlight中使用MVVM模式

最近,我意识到MVVM模式对Silverlight应用程序非常有用,并研究如何将它应用到我的项目中.

顺便说一句,如何用Command连接文本框的textChanged事件?Button有Command属性,但Textbox没有commapd属性.如果Controls没有命令属性,如何组合ICommand和Control的事件?

我得到了以下xaml代码

<UserControl.Resources>
        <vm:CustomerViewModel x:Key="customerVM"/>    
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" 
          Background="White" 
          DataContext="{Binding Path=Customers, Source={StaticResource customerVM}, Mode=TwoWay}" >

        <StackPanel>
            <StackPanel Orientation="Horizontal"
                        Width="300"
                        HorizontalAlignment="Center">
                <TextBox x:Name="tbName" 
                         Width="50" 
                         Margin="10"/>
                <Button Width="30" 
                        Margin="10" 
                        Content="Find"
                        Command="{Binding Path=GetCustomersByNameCommand, Source={StaticResource customerVM}}"
                        CommandParameter="{Binding Path=Text, ElementName=tbName}"/>
            </StackPanel>
            <sdk:DataGrid ItemsSource="{Binding Path=DataContext, ElementName=LayoutRoot}"
                          AutoGenerateColumns="True"
                          Width="300"
                          Height="300"/>
        </StackPanel>
    </Grid>
Run Code Online (Sandbox Code Playgroud)

我想要做的是,如果用户在文本框中输入一些文本,数据将显示在数据网格中而不是使用按钮单击.我知道内置了自动完成框控件.但是,我想知道如何在没有Command属性的控件中调用ViewModel类中的Command属性,例如textbox.

谢谢

silverlight xaml mvvm

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

"收集具有固定的大小"EF4与POCO的例外情况

我正在使用EF4与WCF和POCO.我删除了POCO实体中的所有虚拟关键字.

我有Employee和Team实体,两者之间的关系是1:N,意味着一个员工只能分配一个团队.

我想在现有团队中添加新员工.以下代码位于客户端.

private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            Team teamFromDb = ServiceProxy.GetService.GetTeamById(181);
            Employee newEmp = new Employee{ UserName="username"};
            newEmp.Team = teamFromDb;
            ServiceProxy.GetService.AddEmployee(newEmp);                
        }
Run Code Online (Sandbox Code Playgroud)

以下代码在服务器端(Dao层)

public void AddEmployee(Employee emp)
        {
            ctx.Employees.AddObject(emp);
        }

        public Team GetTeamById(int teamId)
        {
            return ctx.Teams.Where(t => t.TeamId == teamId).FirstOrDefault();
        }
Run Code Online (Sandbox Code Playgroud)

问题是当我将teamFromDb实例添加到客户端代码中的newEmp.Team属性时,我收到了"Collection is a fixed size"异常.

我是否需要添加更多代码才能修复?

此外,对于POCO类和WCF的插入/更新/删除作业,我需要什么

提前致谢.

c# wcf entity-framework-4

13
推荐指数
1
解决办法
7469
查看次数

什么流畅的api方法对应于Data Annotations API中的[Timestamp]属性来检查并发性

我正在使用Entity Framework 4.1.什么流畅的api方法对应于Data Annotations API中的[Timestamp]属性来检查并发性?

entity-framework-4.1

12
推荐指数
1
解决办法
3648
查看次数

HasRequired和HasOptional有什么区别

我有以下实体

public class SchoolContext : DbContext
    {
        public DbSet<Address> Addresses { get; set; }
        public DbSet<Employee> Employees { get; set; }     
    }

    public class Address
    {
        public int Id { get; set; }
        public string Street { get; set; }

        public virtual Employee Employee { get; set; }
    }

    public class Employee
    {
        public int Id { get; set; }
        public string Name { get; set; }

        public virtual Address Address { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

如果我使用以下Fluent API在Employee和Address之间设置关系

protected override …
Run Code Online (Sandbox Code Playgroud)

entity-framework-4.1

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

提交表单不会停止在jquery ajax调用中

我得到以下代码:

$.ajax({
    type: "POST",
    async: false,              
    url: "CheckIdExist",
    data: param,
    success: function(result) {
        if (result == true){
            return false;
        }                                 
    },
    error: function(error) {
        alert(error);
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

如果ajax返回值为true,则表单需要停止提交.

但它并没有停止提交表格.

请帮忙.

forms jquery submit

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

使用POST方法从jQuery Ajax调用WCF服务

我有一个以下WCF方法

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "UserService/AddUser", BodyStyle = WebMessageBodyStyle.WrappedRequest)]
public User AddUser(string LoginId, string Name)
{
    var user = input;

    // Some business logic here

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

我有一个jQuery Ajax客户端代码如下

<script type="text/javascript">
    $(document).ready(function () {

        $("#submit").click(function () {
            var input =
            {
                LoginId: $("#LoginId").val(),
                Name: $("#Name").val()
            };

            $.ajax({
                cache: false,
                type: "POST",
                async: false,
                url: "http://localhost:2000/UserService/AddUser",
                data: JSON.stringify(input),
                contentType: "application/json",
                dataType: "json",
                success: function (userViewModel) {
                    var user = userViewModel;
                    alert(user);
                }
            });
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

一旦ajax调用AddUser方法LoginId和Name值在AddUser方法的两个参数中设置,但是,我想要做的是拥有一个方法签名如下

public …
Run Code Online (Sandbox Code Playgroud)

wcf jquery

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

如何在linqtosql中将datetime转换为字符串?

我使用linqtosql并在linq查询中,我试图将datetime类型列转换为字符串,如'dd-MM-yy'.但是,我收到如下错误:

NotSupportedException:方法'System.String ToString(System.String)'没有支持的SQL转换.

以下是我的linq查询:

from ffv in Flo_flowsheet_values
where ffv.Flowsheet_key == 2489
&& ffv.Variable_key == 70010558
&& ffv.Status == 'A'
&& ffv.Column_time >= DateTime.ParseExact("2010-06-13 00:00", "yyyy-MM-dd HH:mm", null)
&& ffv.Column_time <= DateTime.ParseExact("2010-06-13 22:59", "yyyy-MM-dd HH:mm", null)
select new  { 
ColumnTime = ffv.Column_time
,ColumnTimeForXCategory = ffv.Column_time.Value.ToString("dd-MM-yy") ***====> this statement invoke error***
,BTValue = Convert.ToDouble( ffv.Value) }
Run Code Online (Sandbox Code Playgroud)

linq-to-sql

7
推荐指数
2
解决办法
1万
查看次数

如何从MEF中的多个零件导入特定零件?

我使用MEF作为DI容器,问题是我想从多个部分导入特定部分.

例如,我有以下代码:

public interface IService
{
    void Send();
}

[Export(typeof(IService))]
public class Service : IService
{
    public void Send()
    {
        Console.WriteLine("Service.Send");
    }
}

[Export(typeof(IService))]
public class FakeService : IService
{
    public void Send()
    {
        Console.WriteLine("FakeService.Send");
    }
}

[Import]
public IService Service { get; set; } // ---> let's say I want to use FakeService
Run Code Online (Sandbox Code Playgroud)

有什么解决方案吗?

提前致谢

mef

6
推荐指数
1
解决办法
4324
查看次数

如何防止表单提交

我正在将KnockoutJS与SammyJS一起用于一个页面应用程序.

在html我有表格标签如下

<form data-bind='submit: search'>
  <label>Find user:</label>
  <input data-bind='value: name' />
</form>
Run Code Online (Sandbox Code Playgroud)

并在我的viewmodel中,声明了两个函数和sammy route url

function ViewModel() {
    var self = this;
    self.name = ko.observable("");
    self.search = function () {
      alert(self.name);
    };

    Sammy(function () {
        this.get('#:id', function () {
           //do something....
        });           
    }).run();
}

ko.applyBindings(new ViewModel());
Run Code Online (Sandbox Code Playgroud)

所有代码都运行良好,直到我在文本框中键入内容然后提交表单.我预计在警报窗口之后没有网址浏览,但网址会更改为"http:// localhost:8258/undefined?" 我原来的网址是"http:// localhost:8258"

我怀疑sammy url路由,所以从javascript代码中删除了sammy代码,然后在警报窗口后url不会改变.也许我不明白sammy是如何运作的.

如何防止url改变这种情况?

sammy.js knockout.js

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

ModelState.IsValid不验证模型

我的Model类如下:

public class PostInputViewModel
    {
        [Required]
        [MinLength(1)]
        [MaxLength(125)]
        public string Title { get; set; }

        [Required]
        [AllowHtml]
        [Display(Name="Content")]
        public string Content { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

和控制器如下:

[HttpPost]
        public ActionResult Write(PostInputViewModel input)
        {
            if (!ModelState.IsValid)
                return View(input);

            var post = new Post
            {
                Title = input.Title,
                Content = input.Content,
                DateCreated = DateTime.Now,
                DateModified = DateTime.MaxValue,
            };

            dbContext.Posts.Add(post);
            dbContext.SaveChanges();

            return RedirectToAction("Index", "Home");
        }
Run Code Online (Sandbox Code Playgroud)

当我通过单击F5运行Web应用程序时,如果我没有输入标题和内容值,则ModelState.IsValid为false,但是如果我使用单元测试用例测试控制器类,则ModelState.IsValid始终为true.测试用例如下:

[TestMethod]
        public void write_should_validate_model()
        {
            var input = new PostInputViewModel();
            input.Title = null;
            input.Content = null;
            var …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc-3

2
推荐指数
1
解决办法
6037
查看次数