軟體開發(軟件開發)

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

室內設計、裝潢、窗簾報價估算軟體

網智數位主要提供套裝及客製化的軟體系統解決方案,針對室內設計師、木工、裝潢業產業,量身訂做客製化的軟體,達成客製化、智慧化及網路化的商用軟體。

商用軟體-客製化設計

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

IOT 物聯網-系統開發

根據客戶實際狀況,結合雲端與載具進行客製化物聯網IOT導入與軟體開發

雲端VPS虛擬主機租用

我們的雲端VPS虛擬主機是採用雲端(虛擬化)技術所開發之全新雲端伺服器服務,可以選擇多種作業系統(Windows、Linux等),客戶可載入自訂的應用環境,執行自己所要提供的網路服務,我們的雲端服務可為您的網站提供最完美的解決方案。

ERP軟體客製化導入

ERP軟體客製化導入,室內設計、營造業、裝潢、木作工程、系統櫃工程、會計系統,全面提升公司管理營運效率。

搜尋引擎最佳化SEO

搜尋引擎最佳化(SEO)不僅能提高網站在搜尋結果的排名,更能帶來大量對我們產品或服務真正有需求的訪客。SEO 最棒的特質之一就是不像廣告一樣亂槍打鳥而導致用戶的反感,反而更能提升點閱率跟成交率喔。

服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

2015年11月28日 星期六

Entity Framework 實戰 - 多對多自我關聯 Many to Many , Self Referencing 模型實作 (二)

此篇文是 Entity Framework 實戰 - 多對多自我關聯 Many to Many , Self Referencing 模型實作 (一)的續篇 , 當我們把基本模型 Product Class 建立好後,我們開始實作一個繼承 DbContext 的子類別,在這邊你可以把 DbContext 當做是資料庫的層次意義角度來看待
新增一個Class 名為 ProductContext.cs
image
然後按【新增】按鈕,並在 ProductContext 宣示繼承 DbContext 類別,如以下程式碼
  1: using System;
  2: using System.Collections.Generic;
  3: using System.Data.Entity;
  4: using System.Linq;
  5: using System.Text;
  6: using System.Threading.Tasks;
  7: 
  8: namespace EF6_ManyToManyAndSelf
  9: {
 10:     public class ProductContext : DbContext
 11:     {
 12: 
 13:     }
 14: }

接著加入 DbSet<Product> 的宣告,用於表示 存放著 Product Table(Class)的集合清單
public DbSet<Product> Products;
然後為了完成透過 Product 本身的 Class 來完成 多對多自身關聯,需要 override OnModelCreating Method , 程式碼如下

   1:   protected override void OnModelCreating(DbModelBuilder modelBuilder)
   2:          {
   3:              base.OnModelCreating(modelBuilder);
   4:   
   5:              modelBuilder.Entity<Product>()
   6:                          .HasMany(p => p.RelatedProducts)
   7:                          .WithMany(p => p.AboveProducts)
   8:                          .Map(m =>
   9:                                    {
  10:                                        m.MapLeftKey("ProductID");
  11:                                        m.MapRightKey("RelatedProductID");
  12:                                        m.ToTable("RelatedProduct");
  13:                                    }
  14:                          );
  15:          }

到這邊基本上已經完成 EntityFramework 的宣告….

然後讓我們在前端界面使用我們實作好的 ProductContext ,來看看如何使用….程式碼如下


   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Text;
   5:  using System.Threading.Tasks;
   6:   
   7:  namespace EF6_ManyToManyAndSelf
   8:  {
   9:      class Program
  10:      {
  11:          static void Main(string[] args)
  12:          {
  13:              using (var context = new ProductContext())
  14:              {
  15:                  var product1 = new Product { ProductName = "美容業零售管理系統", Price = 59888M };
  16:                  var product2 = new Product { ProductName = "窗簾業ERP系統", Price = 3500000M };
  17:                  var product3 = new Product { ProductName = "玩具製造業ERP系統", Price = 6700000M };
  18:                  product2.RelatedProducts.Add(product3);
  19:                  product1.RelatedProducts.Add(product2);
  20:                  context.Products.Add(product1);
  21:                  context.SaveChanges();
  22:              }
  23:              using (var context = new ProductContext())
  24:              {
  25:                  var product2 = context.Products.First(p => p.ProductName == "窗簾業ERP系統");
  26:                  Console.WriteLine("Product: {0} ... {1}", product2.ProductName, product2.Price.ToString("C"));
  27:                  Console.WriteLine("Related Products");
  28:                  foreach (var prod in product2.RelatedProducts)
  29:                  {
  30:                      Console.WriteLine("\t{0} ... {1}", prod.ProductName, prod.Price.ToString("C"));
  31:                  }
  32:                  foreach (var prod in product2.AboveProducts)
  33:                  {
  34:                      Console.WriteLine("\t{0} ... {1}", prod.ProductName, prod.Price.ToString("C"));
  35:                  }
  36:              }
  37:   
  38:              Console.ReadKey();
  39:          }
  40:      }
  41:  }


 
 



執行結果為


image





網智數位-軟體開發(軟件開發)

Entity Framework 實戰 - 多對多自我關聯 Many to Many , Self Referencing 模型實作 (一)

在我們軟體開發過程中,我們會遇到一種特殊模型實體關係,例如一個線上商品系統,會有產品資料表(Product Table),以及記錄產品的【相關產品】和該產品本身可以被關聯的上層【相關產品】,感覺很繞口,下圖我截取一個 ER-D 示例圖:
image
上圖ERD 關聯存在所謂的多對多關係 (Many to Many)而且又是自我關聯(自身關聯,Self Referencing),本身的主要邏輯是 RelatedProduct 這個Table,擔任一個用來記錄多對多關聯記錄的中繼Table,RelatedProduct Table包含了2個欄位(ProductID、RelatedProductID),2個欄位都是參考(Referencing)到 Product Table的 ProductID 主鍵值 ( Primary Key ),透過這樣的技巧可以表達一個產品可以關聯多個相關產品,反之也可以表達一個產品可以被多少產品有所關聯….
但現在我要教大家實作一個只需要在 Entity Framework 建立一個 Product Model (POCO),然後透過一些程式寫法技巧,來達成 這種商業資料模型  - 》 多對多自我關聯 Many to Many , Self Referencing 。
首先讓我們用 Visual Studio 開發工具來先新增一個程式專案,在此我程式專案命名為 EF6_ManyToManyAndSelf,然後按確定。
image
接下來,我們需要透過 NuGet來安裝 EntityFramework ,
image
image
在上圖執行安裝按鈕後,後續 NuGet 就會開始安裝 EntityFramewok , 目前 Allen 裝的版本為 6.1.3 穩定版,安裝過程可能會等候一點點時間,裝完後,你會發現專案的參考對了2個參考項目
image
確定沒問題後,接下來我們來新增一個 Product Class ,用來代表 Product table 的對應,完整程式碼如下:
image
   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.ComponentModel.DataAnnotations;
   4:  using System.ComponentModel.DataAnnotations.Schema;
   5:  using System.Linq;
   6:  using System.Text;
   7:  using System.Threading.Tasks;
   8:   
   9:  namespace EF6_ManyToManyAndSelf
  10:  {
  11:      [Table("Product", Schema = "dbo")]
  12:      public class Product
  13:      {
  14:          public Product()
  15:          {
  16:              RelatedProducts = new HashSet<Product>();
  17:              AboveProducts = new HashSet<Product>();
  18:          }
  19:   
  20:          [Key]
  21:          [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  22:          public int ProductID { get; set; }
  23:   
  24:          public string ProductName { get; set; }
  25:   
  26:          public decimal Price { get; set; }
  27:   
  28:          /// <summary>
  29:          /// 記錄此產品的多個相關的產品
  30:          /// </summary>
  31:          public virtual ICollection<Product> RelatedProducts { get; set; }
  32:   
  33:          /// <summary>
  34:          /// 記錄此產品被那些上層產品標示為相關的產品
  35:          /// </summary>
  36:          public virtual ICollection<Product> AboveProducts { get; set; }
  37:   
  38:      }
  39:  }
 

    實作到這邊已經把基本的 EntityFramework 安裝進來,也把產品模型寫成一個POCO Class ,後續是更進階的 程式技巧已經背後運作解釋,請繼續參閱我撰寫  Entity Framework 實戰 - 多對多自我關聯 Many to Many , Self Referencing 模型實作 (二) 的介紹。



網智數位-軟體開發 (軟件開發)

2015年11月20日 星期五

微軟實際行動回歸開發者為中心擁抱全平台開發者

      微軟在今日舉辦的年度開發者大會上宣布了大量新款和升級後的開發者工具,包括了Visual Studio雲訂閱和全新Azure Service Fabric的預覽。為了賦予開發者更大的權力,微軟還介紹了全新免費且已即時上線的Visual Studio Dev Essentials項目。通過這項技術,開發者們將能夠在其喜歡的任何設備和任意系統上打造應用,從而減少其額外的投資成本。全程無尿點,全是亮點,就連開場都是一大亮點霍金的開場如同美國大片,使用面部表情控制電腦,進行交流,使用Visual studio 為霍金提供的全新交互方式:微軟在今日舉辦的年度開發者大會上宣布了大量新款和升級後的開發者工具,包括了Visual Studio雲訂閱和全新Azure Service Fabric的預覽。為了賦予開發者更大的權力,微軟還介紹了全新免費且已即時上線的Visual Studio Dev Essentials項目。通過這項技術,開發者們將能夠在其喜歡的任何設備和任意系統上打造應用,從而減少其額外的投資成本。全程無尿點,全是亮點,就連開場都是一大亮點霍金的開場如同美國大片,使用面部表情控制電腦,進行交流,使用Visual studio 為霍金提供的全新交互方式:






一、發布.NET Core RC和 ASP.Net RC
一年前的2014年11月,Connect(); 為開源開發者開啟了一段新的旅程- 宣布了.NET Core開源,以及可以在Linux, Mac OS 以及Windows 操作系統上運行的Visual Studio Code,這也標誌著微軟在開放和開源的道路上邁出了堅實的一步。昨晚微軟同時升級了.Net Core 和ASP.Net,開發者可以開始在生產環境使用微軟開源的.Net Core 跨平台框架和ASP.Net Web 平台。
微軟發布了.Net Core 5 和ASP.Net 5 的RC 版本,支持Linux,Windows 和Mac OS X 平台,這兩個軟件在一年前就已經開源了。 .Net Core 現在主要是從數據中心擴展到觸摸屏設備,添加了CoreCLR runtime 和CoreFX 庫,主要是由ASP.Net 工作流驅動。
最重要的是.NET Core 和ASP.Net 添加'go live' 協議,允許用戶在生長環境部署,可以反饋在生產環境是如何運作的。並且,現在.Net Core 已經完全支持Mac,Linux 和Windows 三個平台,特性都已完整。 .Net Core 還新增了大量APIs,包括key ones for localization 和networking。 ASP.Net v5 修改了hosting model,所以可以持續跨平台,支持Mac,Linux 和Windows。
自從開源了.Net Core,微軟還提供了其他開源的技術,包括CLR 和NuGet 包技術,還包括之前開源的Roslyn 編譯器項目。上個月微軟還宣布了與Red Hat 的合作,這些都說明,微軟已經走上了全新的開源之路!
二、開源Visual Studio Code 跨平台編輯器
微軟今天正式開源Visual Studio Code 跨平台編輯器,支持Mac,Linux 和Windows 平台。微軟同時還發布了VS Code v0.10.1 Beta 版本,最重要的是Visual Studio Code 支持擴展/插件(圖庫擴展,SDK 擴展,示例擴展)。

程式碼現已託管到GitHub:https://github.com/microsoft/vscode

Visual Studio Code 編輯器部分代碼來自GitHub Atom,但是有一些Atom 編輯器沒有的功能,比如智能感應。
Anders這位大神演示VS Code上開發AngularJS,他介紹了Google如何使用VS Code和TypeScript來開發AngularJS的下一版本

AngularJS團隊現場演示推薦AngularJS用戶使用VS Code。
三、微軟送大禮Visual Studio Dev Essentials
全新免費且已即時上線的Visual Studio Dev Essentials項目。通過這項技術,開發者們將能夠在其喜歡的任何設備和任意系統上打造應用,從而減少其額外的投資成本。


參與該項目的開發者們可訪問Visual Studio社群、程式碼和團隊服務、Parallells Desktop等工具和資源,以及在Pluralsight、Wintellect和Xamarin上培訓(明年年初上線,可選$25美元的Azure credit)。

微軟還介紹了按月或按年付費的Visual Studio專業版與企業版的雲訂閱服務。為了讓開發者的生活更加輕鬆,該公司還向所有人開放了其Microsoft Graph API(只需通過單一授權即可訪問)。

免費獲取成套的開發資源,包含下列內容:
開發工具
Visual Studio Community*
Visual Studio Code
Visual Studio Express
Team Foundation Server Express
學習資料
Pluralsight (為期 3 個月的訂閱)*
WintellectNOW (為期 3 個月的訂閱)*
Microsoft 虛擬學院、
HackHands Live Programming 幫助(25 美元信用)*
優先級論壇支持*
雲端資源
Azure 信用25 美元/月,提供12 個月)*
供五名用戶使用的Visual Studio Team Services 帳戶*
App Service 免費層
PowerBI 免費層
HockeyApp 免費層
Application Insights 免費層
跨平台開發資源
Parallels Desktop® for Mac Pro Edition (為期3 個月的訂閱)*
Parallels® Access (為期3 個月的訂閱)*
Windows 10 Enterprise VHD (為期 60 天)
Office Online 應用
獲取地址:https://www.visualstudio.com/free-developer-offers-vs
四、Visual Studio安卓模擬器可以運行在Mac上
Visual Studio 2015中提供了一個獨立的安卓模擬器,這個模擬器的運行速度是Google模擬器的3-5倍,佔用內存僅有不到1/3,對於移動應用開發者來說是非常好用的武器。現在這個模擬機也可以運行在Mac OSX上了。這個模擬器可以獨立安裝,獨立運行,即使你不使用Visual Studio進行開發,也可以使用這個模擬器作為你的安卓開發環境的一部分。
下載地址: https://www.visualstudio.com/zh-cn/features/msft-android-emulator-vs.aspx
昨晚的直播除了上面這些還有非常多的亮點,可以通過https://channel9.msdn.com/ 上觀看回顧。
內文來源為:tinyurl.com/pdpzvav

網智數位-軟體開發