小编put*_*i26的帖子

使用Dapper映射嵌套对象的列表

我正在使用Dapper,我有这样的类:

public class Article{
   public int Id { get; set; }
   public string Description{get;set;}
   public Group Group { get; set; }
   public List<Barcode> Barcode {get;set;}
   ...
}

public class Group{
   public int Id { get; set; }
   public string Description {get;set;}
}

public class Barcode{
   public int Id { get; set; }
   public string Code{get;set;}
   public int IdArticle { get; set; }
   ...
}
Run Code Online (Sandbox Code Playgroud)

我可以获得有关文章的所有信息,但我想知道是否可以使用一个查询获取每篇文章的条形码列表.其实我做的是这样的:

string query = "SELECT * FROM Article a " +
"LEFT JOIN Groups g ON …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf orm dapper

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

填充和绑定两个组合框WPF Caliburn.micro

我有这张桌子:

在此处输入图片说明

我在项目中使用了称为NewItem的视图,在此视图中有两个组合框。

在此处输入图片说明

我想这样做:在组合框组中有表GROUP的所有Description,当我选择(第一个组合框)此描述的项目时,第二个组合框填充的描述仅与我之前选择的描述有关。

这是一些代码:

XAML NewItemView:

<ComboBox Height="21" HorizontalAlignment="Left" Margin="89,99,0,0" 
                  VerticalAlignment="Top" Width="106" x:Name="Group" SelectedItem="{Binding SelectedGroup}" />
Run Code Online (Sandbox Code Playgroud)

ViewModel代码类似于:

[Export(typeof(IScreen))]
public class NewItemViewModel : Screen
{
   public string SelectedGroup { get; set; }
   public String[] Group { get { return Groups; } }

   [..]


   //Constructor         
   public NewArticleViewModel()
   {
       Groups = GetGroups();
   }


   //Method
   private string[] GetGroups()
   {
     OleDbConnection conn = new OleDbConnection(StringConn);
     List<Group> groups = new List<Group>();

     conn.Open();
     groups = conn.Query<Group>(Q_SELECT_GROUPS,null,null).ToList();
     conn.Close();

     string[] array = new string[groups.Count];

     for (int i = 0; …
Run Code Online (Sandbox Code Playgroud)

wpf binding combobox caliburn.micro dapper

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

使用Dapper C#填充列表对象

我的数据库中有两个表,如下所示:

在此处输入图片说明

我有这个课:

   class Ean
   {
        public string Code{ get; set; }
   }

   class Article
   {
        public int Id { get; set; }
        public string Name { get; set; }
        public List<Ean> BarCode { get; set; }
   }

List<Article> arts = new List<Article>();
Run Code Online (Sandbox Code Playgroud)

我创建文章列表,并使用dapper进行查询。我想用文章的名称来填充此列表,还要用相关ean文章的列表来填充。我尝试执行以下查询:

SELECT ART.ID AS ID, ART.NAME AS NAME,EAN.EAN AS BARCODE
FROM ART,EAN
WHERE ART.ID = EAN.ID_ART;
Run Code Online (Sandbox Code Playgroud)

并在C#中。

arts = conn.Query<Article>(query, null, transaction).ToList();
Run Code Online (Sandbox Code Playgroud)

但是不行 我该怎么办?谢谢。欢迎任何建议。

c# list object fill dapper

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

在新任务WPF caliburn.micro c#中打开另一个视图

我在第一个(MainView)中有2个视图我选择一个文件并导入它,在第二个视图(BView)中显示数据网格中该文件的详细信息.

这是第一个视图(MainView):

在此输入图像描述

这是第二个视图(BView): 在此输入图像描述

我希望当我单击"导入"时出现在进度条和文本上,而第二个视图加载时.我想在另一个TASK中打开另一个视图,但是我收到此错误消息:

"调用线程无法访问此对象,因为另一个线程拥有它."

这是MainViewModel的代码是:

[Export(typeof(IShell))]
    public class MainViewModel : Screen
    {
        public string Path{ get; set; }
        public bool IsBusy { get; set; }
        public string Text { get; set; }
        [Import]
        IWindowManager WindowManager { get; set; }

        public MainViewModel()
        {
            IsBusy = false;
            Text = "";
        }


        public void Open()
        {
            OpenFileDialog fd = new OpenFileDialog();
            fd.Filter = "Text|*.txt|All|*.*";
            fd.FilterIndex = 1;

            fd.ShowDialog();

            Path= fd.FileName;
            NotifyOfPropertyChange("Path");
        }


        public void Import()
        {
            if (Percorso != null)
            {
                IsBusy …
Run Code Online (Sandbox Code Playgroud)

c# wpf view caliburn.micro

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

WPF DataGrid绑定不适用于caliburn micro

我无法理解为什么它不起作用..

这是我的班级

public class Article : Screen
{
    public string Code { get; set; }
    public string Description{ get; set; }
    public decimal Cost{ get; set; }
    public decimal Price{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是DataGrid的XAML代码:

    <DataGrid Height="211" HorizontalAlignment="Left" 
        Margin="12,31,0,0" VerticalAlignment="Top" Width="521" 
        AutoGenerateColumns="False" ItemsSource="{Binding List}">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path=Code}" Header="Code" />
            <DataGridTextColumn Binding="{Binding Path=Description}" Header="Description" />
            <DataGridTextColumn Binding="{Binding Path=Cost}" Header="Cost" />
            <DataGridTextColumn Binding="{Binding Path=Price}" Header="Price" />
        </DataGrid.Columns>
    </DataGrid>
    <Button Content="Button" Height="39" HorizontalAlignment="Left" 
            Margin="223,262,0,0" VerticalAlignment="Top" Width="110"
            x:Name="AllArticles"/>
Run Code Online (Sandbox Code Playgroud)

这是我的观点模型

[Export(typeof(IShell))]
public class ArtsViewModel …
Run Code Online (Sandbox Code Playgroud)

wpf binding datagrid caliburn caliburn.micro

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

标签 统计

wpf ×4

c# ×3

caliburn.micro ×3

dapper ×3

binding ×2

.net ×1

caliburn ×1

combobox ×1

datagrid ×1

fill ×1

list ×1

object ×1

orm ×1

view ×1