小编MaY*_*YaN的帖子

如何使用PetaPoco或NPoco生成DDL?

我刚开始在我的一个项目中使用PetaPoco/NPoco并且不得不说它摇滚,但似乎该库无法生成DDL并创建基于Poco的表.我知道OrmLite可以做到这一点.

是否有一种方法/解决方法可用于例如装饰poco,然后根据属性生成DBMS特定的表脚本?例如Oracle,MSSql等

谢谢

c# poco petapoco npoco

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

如何使用快速成员将数据批量复制到具有不一致列名称的表中?

我有一个Person包含以下列名的表:

Id,姓名,Dob

我也有一个poco:

public class Person
{
    public int Id {get; set;}
    public string Name {get; set;}
    public string DateOfBirth {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试:

var people = new List<Person>();
... // added a bunch of people

using (var bcp = new SqlBulkCopy(sqlConnection, SqlBulkCopyOptions.TableLock, transaction))
using (var reader = ObjectReader.Create(people, "Id", "Name", "Dob"))
{
    bcp.BulkCopyTimeout = 120;
    bcp.BatchSize = 0;
    bcp.DestinationTableName = "Person";
    bcp.WriteToServer(reader);
}
Run Code Online (Sandbox Code Playgroud)

但是,由于Column name Dob与属性名称不匹配,DateOfBirth我得到Index out of rangeFastMember抛出,如何在不重命名属性或列的情况下解决问题.

请注意,我需要一个只能在运行时使用属性和列名称的答案,因为我当前正在使用ServiceStack Ormlite在运行时检索表元数据,而FastMember则在运行时再次访问ObjectReader.

任何帮助深表感谢.

c# fastmember

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

Regex.Replace忽略非捕获组

我有以下代码:

var pattern = @"(?:red).*(\d+)";
var regX = new Regex(pattern);
var input = "this is red with number 111";
var replaced = regX.Replace(input, "666");
Run Code Online (Sandbox Code Playgroud)

replaced则是:this is 666而不是:this is red with number 666

为什么会这样?

.net c# regex

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

为什么这个C#方法重载不能按预期工作?

我有以下方法:

public void Say<TItem>(TItem item)
{
    Console.WriteLine("A");
}

public void Say<TItem>(IEnumerable<TItem> items)
{
    Console.WriteLine("B");
}
Run Code Online (Sandbox Code Playgroud)

当我运行以下内容时:

void Main()
{
    Say<string>("Foo");
    Say(new string[] { "Foo", "Bar"});

}
Run Code Online (Sandbox Code Playgroud)

第一个方法被调用两次:

A
A
Run Code Online (Sandbox Code Playgroud)

注意改变IEnumerable<T>为a TItem[]确实按预期工作,但是IEnumerable<T>为什么它没有采用第二种方法呢?如何实现预期的重载?

.net c# generics

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

如何使用c#从Android摄像头抓取图像或位图

我可以使用下面的代码获取图像.拍摄后我想把图像变成一个byte[].我坚持的是我拍摄照片后如何拍摄图像?

Intent是我用来打开相机的意图,但我不确定是否有我可以覆盖的东西,或者如果意图仍然有我的话image/bitmap,我可以将其分解.

[Activity(Label = "CameraPage")]
public class PhotoTaker : Activity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

       SetContentView(Resource.Layout.CameraView);
        ImageButton button = FindViewById<ImageButton>(Resource.Id.imagebutton);
        button.Click += BtnCameraClick;
    }
    private string _imageUri;
    private Intent intent;


    private Boolean isMounted
    {
        get
        {
            return Android.OS.Environment.ExternalStorageState.Equals(Android.OS.Environment.MediaMounted);
        }
    }

    public void BtnCameraClick(object sender, EventArgs eventArgs)
    {
        var uri = ContentResolver.Insert(isMounted
                                             ? MediaStore.Images.Media.ExternalContentUri
                                             : MediaStore.Images.Media.InternalContentUri, new ContentValues());
        _imageUri = uri.ToString();
        intent = new Intent(MediaStore.ActionImageCapture);
        //bitmap = MediaStore.Images.Media.GetBitmap(ContentResolver, uri);
        intent.PutExtra(MediaStore.ExtraOutput, uri);
        StartActivityForResult(intent, 1001); …
Run Code Online (Sandbox Code Playgroud)

c# xamarin.android android-camera

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

在C#中查找匿名对象列表中的项

我有一个匿名对象列表:

var jobs = new List<object>
               {
                 new
                 {
                   JobName = "Job1",
                   JobDate = "Date1",
                   JobUser = "User1"
                 },
                 new
                 {
                   JobName = "Job2",
                   JobDate = "Date2",
                   JobUser = "User2"
                 }
               };
Run Code Online (Sandbox Code Playgroud)

如何使用linq找到"Job2"?

例如

var job2 = jobs.Where(x=>x.JobName == "Job2");
Run Code Online (Sandbox Code Playgroud)

我知道以下内容但不能以优雅的方式将其应用于上面的用例:

var anonymJob = new 
                {
                  JobName = "Job2",
                  JobDate = "Date2",
                  JobUser = "User2"
                };

dynamic tJob = anonymJob.GetType();
string jobName = tJob.JobName; // this will be "Job2"
Run Code Online (Sandbox Code Playgroud)

请注意jobs.First()或Last()不被接受作为此问题的正确答案是如何根据其特定属性查找作业.

谢谢

c# linq anonymous-objects

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

如何使用Windows CMD基于模式提取部分字符串?

我有一个输入让我们说:

DummyString-v1.0.0

我想在v得到之后提取所有内容:1.0.0

我怎样才能在CMD中实现这一目标?

cmd batch-file

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

如何使用JIL使用参数化构造函数反序列化类型?

我有一个简单的不变POCO定义为:

public sealed class Person
{
    public Person(string name)
    {
        Name = name;
        TimeStamp = DateTimeOffset.UtcNow;
    }

    public DateTimeOffset TimeStamp { get; }    
    public string Name { get; }
}
Run Code Online (Sandbox Code Playgroud)

然后,我执行一个简单的ser反序列化:

var p = new Person("Mr Right").Dump();

var ser = JSON.Serialize(p).Dump();

// Throws Deserialization Exception, Error occured building a deserializer, 
// Expected a parameterless constructor...
JSON.Deserialize<Person>(ser).Dump();
Run Code Online (Sandbox Code Playgroud)

序列化成功产生:

{“ TimeStamp”:“ / Date(1456412550349 + 0000)/”,“ Name”:“ Mr Right”}

但是反序列化抛出了,有什么办法解决吗?是否JIL支持使用参数化构造函数对类型进行反序列化?

.net c# serialization deserialization jil

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

为什么安装Vue CLI后无法启动Vue UI?

使用以下内容:

node 8.11.2
npm 6.3.0
Run Code Online (Sandbox Code Playgroud)

然后我尝试安装Vue CLI(@ vue/cli @ 3.0.0):

npm i -g @vue/cli
Run Code Online (Sandbox Code Playgroud)

但是当我运行以下命令时:

vue ui
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error: Cannot find module 'core-js/modules/es7.object.entries'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Apps\caches\npm\node_modules\@vue\cli\node_modules\apollo-upload-server\lib\mi
ddleware.js:14:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
Run Code Online (Sandbox Code Playgroud)

npm vue.js vue-cli

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

如何在 Vue 中将 v-model 与功能模板组件一起使用?

Vue.js有一个示例演示如何构建包装按钮的功能组件:

<template functional>
  <button
    class="btn btn-primary"
    v-bind="data.attrs"
    v-on="listeners"
  >
    <slot/>
  </button>
</template>
Run Code Online (Sandbox Code Playgroud)

但是我如何构建一个类似的组件,select然后可以v-model在其父组件上使用它呢?

我想出了以下内容,但是当我v-model像这样使用它时:

<MyComponent :Label="'Status'" :Data="Statuses" v-model="selectedStatus" />
Run Code Online (Sandbox Code Playgroud)

的值selectedStatus变为:

[object Event]
Run Code Online (Sandbox Code Playgroud)
<template functional>
    <select v-bind:value="data.attrs" v-on="listeners">
        <option>-</option>
        <option v-for="item in props.Data" :key="item" :value="item">{{item}}</option>
    </select>
</template>

<script lang="ts">
import { Component, Prop, Vue } from "vue-property-decorator";

@Component
export default class TaskSelector extends Vue {
  @Prop({ type: String, required: true })
  public Label!: string;

  @Prop({ type: Array, required: true }) …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vuejs2

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